Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS-4349 Software Testing & Implementation

Similar presentations


Presentation on theme: "CS-4349 Software Testing & Implementation"— Presentation transcript:

1 CS-4349 Software Testing & Implementation
The University of Lahore A “W4” Category University CS-4349 Software Testing & Implementation Lecture 4 20/09/2018

2 The University of Lahore
A “W4” Category University 1.1.5 Testing and quality 20/09/2018

3 What is root-cause analysis?
The University of Lahore A “W4” Category University 1.1.5 Testing and quality What is root-cause analysis? To find real reason when we detect faults is called root cause analysis. When we detect failures, we might try to track them back to their root cause, the real reason that they happened. 20/09/2018

4 Exercise The University of Lahore Root Cause Analysis
A “W4” Category University 1.1.5 Testing and quality Exercise Root Cause Analysis 20/09/2018

5 The University of Lahore
A “W4” Category University 1.1.5 Testing and quality Q 1- What can be the ways of carrying root cause analysis? Way1: __________________________________________________________ Way2: __________________________________________________________ Q 2- An organization has a problem with printing repeatedly failing. Suggest some possible causes of this failure. Cause 1: ____________________________________________________ Cause 2: ____________________________________________________ Cause 3: ____________________________________________________ 20/09/2018

6 The University of Lahore
A “W4” Category University 1.1.5 Testing and quality Q 3- These causes may happen because __________________________________________________________ Q 4- What possible steps the software testers will take to design the software and resolve the printing failure and facilitate the users? ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 20/09/2018

7 The University of Lahore
A “W4” Category University 1.1.5 Testing and quality Q-1 What are the ways of carrying root-cause analysis? Discussion Involving group of people with brainstorming ideas 20/09/2018

8 The University of Lahore
A “W4” Category University 1.1.5 Testing and quality Q-2 Suppose an organization has a problem with printing repeatedly failing. Some IT maintenance will sit together to examine the problem and they start by brainstorming all the possible causes of the failure. Some of the cause they discover might be: Printer runs out of supplies (ink or paper) Printer driver software fails. Printer room is too hot for the printer. 20/09/2018

9 The University of Lahore
A “W4” Category University 1.1.5 Testing and quality Q-3 If we look at one of the causes “ printer runs out of supplies, it may happen because: ROOT CAUSE: No one is responsible for checking printer ink/paper before use. Staff not trained in looking after the printer. No process for stock control and ordering. 20/09/2018

10 Summary The University of Lahore
A “W4” Category University 1.1.5 Testing and quality Summary Root-cause analysis is an important aspect of quality assurance activities and testing contributes by helping us to identify defect and improve software quality as early as possible before the software is in use. 20/09/2018

11 The University of Lahore
A “W” Category University Ranked Amongst The Top 550 Universities of The WORLD! 1.1.6 How much testing is enough? How much testing should we do? Test everything Test nothing Test some of the software Exhaustive Testing A test approach in which the test suit comprises all combinations of input values and preconditions. Testing Principle-Exhaustive testing is impossible Testing everything is not feasible/possible. 20/09/2018

12 The University of Lahore
A “W” Category University Ranked Amongst The Top 550 Universities of The WORLD! 1.1.6 How much testing is enough? EXAMPLE 1 How many tests would you need to do to completely test a one-digit numeric field? 10 possible valid numeric values (10 tests) We need to ensure that all invalid values are rejected. e.g. 26 uppercase letters, 26 lowercase letters, special characters and blank space. Total tests would be 68. 20/09/2018

13 The University of Lahore
A “W” Category University Ranked Amongst The Top 550 Universities of The WORLD! 1.1.6 How much testing is enough? EXAMPLE 2 One screen has 15 input fields, each having 1 digit numeric field. How many test are required to do? 20/09/2018

14 The University of Lahore
A “W4” Category University 1.1.6 How much testing is enough? How much testing should we do? Test everything Test nothing Test some of the software Exhaustive Testing A test approach in which the test suit comprises all combinations of input values and preconditions. Testing Principle-Exhaustive testing is impossible Testing everything is not feasible/possible. 20/09/2018

15 The University of Lahore
A “W4” Category University 1.1.6 How much testing is enough? EXAMPLE 1 How many tests would you need to do to completely test a one-digit numeric field? 10 possible valid numeric values (10 tests) We need to ensure that all invalid values are rejected. e.g. 26 uppercase letters, 26 lowercase letters, special characters and blank space. Total tests would be 68. 20/09/2018

16 The University of Lahore
A “W4” Category University 1.1.6 How much testing is enough? EXAMPLE 2 One screen has 15 input fields, each having 1 digit numeric field. How many test are required to do? 20/09/2018

17 The University of Lahore
A “W4” Category University 1.2 What is testing? TESTING “Testing is a process rather than a single activity-there are series of activities involved.” One of the activities is all life cycle activities. Testing takes place throughout the software development life cycle. 20/09/2018

18 Software Development Life Cycle
The University of Lahore A “W4” Category University 1.2 What is testing? Software Development Life Cycle 20/09/2018

19 Software Development Life Cycle (SDLC)
The University of Lahore A “W4” Category University 1.2 What is testing? Software Development Life Cycle (SDLC) 20/09/2018

20 The University of Lahore
A “W4” Category University 1.2 What is testing? SYSTEM LIFE CYCLE System life cycle is an organizational process of developing and maintaining systems. It helps in establishing a system project plan. System development life cycle means combination of various activities put together are referred as system development life cycle. In the System Analysis and Design terminology, the system development life cycle means software development life cycle. 20/09/2018

21 The University of Lahore
A “W4” Category University 1.2 What is testing? Phases of software development cycle Problem Recognition (System Study) Feasibility Study System Analysis System Design Coding /Implementation/Construction Testing Maintenance 20/09/2018

22 The University of Lahore
A “W4” Category University 1.2 What is testing? System Study System study is the first stage of system development life cycle. It gives a clear picture of what actually the physical system is? System study is done in two phases. In the first phase, the preliminary survey of the system is done which helps in identifying the scope of the system. The second phase of the system study is more detailed and in-depth study in which the identification of user’s requirement and the limitations and problems of the present system are studied. 20/09/2018

23 The University of Lahore
A “W4” Category University 1.2 What is testing? After completing the system study, a system proposal is prepared by the System Analyst (who studies the system) and placed before the user. The proposed system contains the findings of the present system and recommendations to overcome the limitations and problems of the present system in the light of the user’s requirements. 20/09/2018

24 The University of Lahore
A “W4” Category University 1.2 What is testing? System Study (SUMMARY) Problem identification and project initiation Background analysis Conclusion findings Carry out the preliminary study of the situation Decide exactly what the problem is? 20/09/2018

25 The University of Lahore
A “W4” Category University 1.2 What is testing? Feasibility Study On the basis of result of the initial study, feasibility study takes place. The feasibility study is basically the test of its Workability Meeting user’s requirements Effective use of resources Cost effectiveness Decide whether or not to continue with the project? In the process of feasibility study, the cost and benefits are estimated with greater accuracy. 20/09/2018

26 The University of Lahore
A “W4” Category University 1.2 What is testing? System Analysis Study the existing system in detail is called analysis. During analysis, data are collected Ways to study the existing system Interview users of the current system Read any manual or instructions which are in use Observe the current system in operation Questionnaires 20/09/2018

27 The University of Lahore
A “W4” Category University 1.2 What is testing? System Design Based on the user requirements and the detailed analysis of a new system, the new system must be designed. This is the phase of system designing. It is a most difficult phase in the development of a system. Normally, the design proceeds in two stages : preliminary or general design Structure or detailed design 20/09/2018

28 The University of Lahore
A “W4” Category University 1.2 What is testing? Preliminary or general design: The features of the new system are specified. The costs of implementing these features and the benefits to be derived are estimated. Structure or detailed design: At this stage, the design of the system becomes more structured. Input, output and processing specifications are drawn up in detail. In the design stage, the programming language and the platform in which the new system will run are also decided. 20/09/2018

29 Designing The University of Lahore Data capture forms
A “W4” Category University 1.2 What is testing? Designing Data capture forms Type of user interface Validations methods-how is input data going to be test? Programs-if some new programs has to be written then they have to be designed at this stage Input screens Output screens System flowcharts Program flowcharts 20/09/2018

30 The University of Lahore
A “W4” Category University Coding/Construction After designing the new system, the whole system is required to be converted into computer understanding language. This is also called the programming phase in which the programmer converts the program specifications into computer instructions, which we refer as programs. The programs coordinate the data movements and control the entire process in a system. User documentation is prepared Technical documentation is prepared 20/09/2018

31 Testing The University of Lahore
A “W4” Category University Testing Before actually implementing the new system into operations, a test run of the system is done removing all the bugs, if any. It is an important phase of a successful system. After codifying the whole programs of the system, a test plan should be developed and run on a given set of test data. The output of the test run should match the expected results. 20/09/2018

32 Testing The University of Lahore Unit Testing Integration Testing
A “W4” Category University Testing Unit Testing Integration Testing System testing. Test data is designed and the results are forecast Acceptance testing. The users of the new system check it 20/09/2018

33 The University of Lahore
A “W4” Category University Component Testing Searches for defects and verifies the functioning of software components (modules, programs, objects, classes etc) that are separately testable. Integration Testing Tests interfaces between components, interactions to different parts of a system such as OS, file system and hardware. System Testing Concerned with the behavior of the whole system/product. Acceptance Testing Validation testing with respect to user needs, requirements and expectations. 20/09/2018

34 The University of Lahore
A “W4” Category University Implementation After having the user acceptance of the new system developed, the implementation phase begins. Implementation is the stage of a project during which theory is turned into practice. During this phase, all the programs of the system are loaded onto the user's computer. After loading the system, training of the users starts. File conversion Software and hardware installation System conversion 20/09/2018

35 The University of Lahore
A “W4” Category University Implementation Main topics of such type of training are: How to execute the package How to enter the data How to process the data (processing details) How to take out the reports 20/09/2018

36 The University of Lahore
A “W4” Category University After the users are trained about the computerized system, manual working has to shift from manual to computerized working. The following two strategies are followed for running the system: Direct Change Over: The old/existing system is immediately removed and the new system come into place Parallel Run: In such run for a certain defined period, both the systems i.e. computerized and manual are executed in parallel. This strategy is helpful because of the following: Manual results can be compared with the results of the computerized system. Failure of the computerized system at the early stage, does not affect the working of the organization, because the manual system continues to work, as it used to do. 20/09/2018

37 The University of Lahore
A “W4” Category University Phased/Pilot Run: In this type of run, the new system is installed in parts. Some part of the new system is installed first and executed successfully for considerable time period. When the results are found satisfactory then only other parts are implemented. This strategy builds the confidence and the errors are traced easily. 20/09/2018

38 The University of Lahore
A “W4” Category University Maintenance Maintenance is necessary to eliminate errors in the system during its working life and to tune the system to any variations in its working environment. It has been seen that there are always some errors found in the system that must be noted and corrected. It also means the review of the system from time to time. 20/09/2018

39 The University of Lahore
A “W4” Category University System Maintenance and Review The review of the system is done for: Knowing the full capabilities of the system Knowing/upgrade the required changes or the additional requirements Studying the performance Keep watching on the new system Repair faults in both hardware and software 20/09/2018

40 What is Software Testing?
The University of Lahore A “W4” Category University What is Testing? What is Software Testing? 20/09/2018

41 The process of detecting defects is called testing.
The University of Lahore A “W4” Category University What is Testing? The process of detecting defects is called testing. The process concerned with planning, preparation and evaluation of software products to determine that they satisfy specified requirements. The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects. 20/09/2018

42 Software Testing The University of Lahore
A “W4” Category University What is Testing? Software Testing The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects. 20/09/2018

43 The University of Lahore
A “W4” Category University What is Testing? Dynamic Executing the software code to demonstrate the results (Chapter 4) Static Without executing software code to find defects. Reviewing of documents including source code. (Chapter 3) 20/09/2018

44 The University of Lahore
A “W4” Category University What is Testing? Planning What we want to do? Report on testing progress, status of the software under test, finalize and close testing when a phase completes. (Chapter 5) Preparation We need to choose what testing we’ll do? (Chapter 4) Evaluation Executing the test, we must check the results, evaluate the software and completion criteria Software products and related work products We test the requirements and design specifications. 20/09/2018

45 The University of Lahore
A “W4” Category University What is Testing? Determine that software products satisfy requirements Checking products against the requirements. Demonstrate software products fit for purpose Software does enough to help the users to carry out their tasks. Software does what the user might expected. Detect Defects Finding and fixing defects 20/09/2018

46 Software Test and Driving Test Compared
The University of Lahore A “W4” Category University Software Test and Driving Test Compared 20/09/2018

47 Software Test and Driving Test Compared
The University of Lahore A “W4” Category University Software Test and Driving Test Compared Activities Driving Test Software Test Planning and Preparation Static and Dynamic Evaluation 20/09/2018

48 Software Test and Driving Test Compared
The University of Lahore A “W4” Category University Software Test and Driving Test Compared Activities Driving Test Software Test Determine that they satisfy specified requirements Demonstrate that they are fit for purpose Detect defects 20/09/2018

49 Software Test and Driving Test Compared
The University of Lahore A “W4” Category University Software Test and Driving Test Compared Activities Driving Test Software Test Planning and Preparation 1-Which routes to be followed? 2-Time duration 3-Questions to be asked 1-Checking testing progress 2-Status of the software under test 3-Finalize testing when phase completes 4-What testing we will do? Static and Dynamic 1-Questions to the driver 2-Driving the car 1-Review the software 2-Executing the software Evaluation 1-Questions 2-Written test 3-Observation during driving 1-Check the results 2-Evaluate the software 3-Completion criteria 20/09/2018

50 Software Test and Driving Test Compared
The University of Lahore A “W4” Category University Software Test and Driving Test Compared Activities Driving Test Software Test Determine that they satisfy specified requirements 1-Checking patience 2-Checking confidence 3-Checking following the rules 4-Checking staring, clutch, gears are properly used by the driver 1-Review the code to check design 2-Review the design to check specifications Demonstrate that they are fit for purpose 1-Driver is able to drive 1-Software is fit for purpose Detect defects 1-Finding faults of driver 2-Suggest improvements 1-Finding faults or defects 2-Fixing defects 20/09/2018

51 The University of Lahore
A “W4” Category University When we can meet our test objectives? Testing Principle-Early Testing Testing activities should start as early as possible in the software development and should be focused on defined objectives. 20/09/2018

52 The University of Lahore
A “W4” Category University When we can meet our test objectives? Testing Activities Acceptance testing Alpha testing Beta testing or field testing Component or unit or module Integration testing Regression testing 20/09/2018

53 The University of Lahore
A “W4” Category University Focusing on defects can help us plan our tests Testing Principle- Defect Clustering A small number of modules contain most of the defects discovered during testing. Reasons of defect clustering 1-Code is complex 2-Code is tricky 3-Not reviewing properly during development 4-Early testing is not implemented on time 20/09/2018

54 The University of Lahore
A “W4” Category University Solution to minimize clustering Reviewing every module to find defects and failures Early testing should be implemented on time Root-cause analysis to prevent defects and failures happening again and again 20/09/2018

55 The defect clusters change over time
The University of Lahore A “W4” Category University The defect clusters change over time Find more defects as the testing improves and then as the defect prevention kicks in, defects numbers dropping 20/09/2018

56 The University of Lahore
A “W4” Category University Debugging removes defects Debugging The process of finding, analyzing and removing causes of failures in the software is called debugging. 20/09/2018

57 The University of Lahore
A “W4” Category University Debugging Removes Defects Testing Principle-Pesticide Paradox If the same tests are repeated over and over again, eventually the same set of tests cases will no longer find any new bugs. To overcome this “Pesticide Paradox”, the test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software to find more defects. 20/09/2018

58 The University of Lahore
A “W4” Category University Is the software defects free? Testing Principle- Testing shows presence of defects Testing can show that defects are present, but can not prove that there are no defects. Testing reduces the probability of undiscovered defects. If no defects are found, it is not a proof of correctness. 20/09/2018

59 The University of Lahore
A “W4” Category University If we don’t find defects does that mean the user will accept the software? Testing Principle- Absence of errors fallacy Finding and fixing defects does not help if the system built is unusable and does not fulfill the user’s needs and expectations. 20/09/2018

60 The University of Lahore
A “W4” Category University Testing Principles-SUMMARY 1- Testing shows presence of defects 2- Exhaustive testing is impossible 3- Early testing 4- Defect clustering 5- Pesticide Paradox 6- Testing is context dependent 7- Absence-of-error fallacy 20/09/2018

61 The Psychology of Testing
The University of Lahore A “W4” Category University The Psychology of Testing Independent testing- Who is a tester? Independence Separation of responsibilities, which encourages the accomplishment of objective testing. Level of Independence Tests by the person who wrote the item under test Tests by another person within the same team such as another programmer Tests by a person from a different organizational group 20/09/2018

62 The University of Lahore
A “W4” Category University The Psychology of Testing Reviewing and testing Principles Communicate findings on the product in a neutral, fact-focused way without criticizing the person who created it. Don’t blame Be constructive Say what you liked and what worked, as well as what didn’t work Don’t be pessimistic (emphasizing the bad part of the situation) 20/09/2018

63 The University of Lahore
A “W4” Category University The Psychology of Testing Reviewing and testing Principles Show what risks have been uncovered and the benefits of review and test Be polite and helpful, collaborate with your colleagues Try to understand how the other person feels Confirm that the other person has understood what you have said and vice versa Offer you work to be reviewed 20/09/2018

64 Fundamental of Software Testing
The University of Lahore A “W4” Category University QUIZ 1 Chapter 1 Fundamental of Software Testing 20/09/2018

65 End of Chapter 1 The University of Lahore A “W4” Category University
20/09/2018


Download ppt "CS-4349 Software Testing & Implementation"

Similar presentations


Ads by Google