Presentation is loading. Please wait.

Presentation is loading. Please wait.

WWW.BZUPAGES.COM Software Testing Process By: M. Muzaffar Hameed.

Similar presentations


Presentation on theme: "WWW.BZUPAGES.COM Software Testing Process By: M. Muzaffar Hameed."— Presentation transcript:

1 WWW.BZUPAGES.COM Software Testing Process By: M. Muzaffar Hameed

2 WWW.BZUPAGES.COM Types of Testing The main software testing types are: Component. Interface. System. Acceptance. Release.

3 WWW.BZUPAGES.COM Component Testing Starting from the bottom the first test level is "Component Testing", sometimes called Unit Testing. It involves checking that each feature specified in the "Component Design" has been implemented in the component. In theory an independent tester should do this, but in practise the developer usually does it, as they are the only people who understand how a component works. The problem with a component is that it performs only a small part of the functionality of a system, and it relies on co-operating with other parts of the system, which may not have been built yet. To overcome this, the developer either builds, or uses special software to trick the component into believing it is working in a fully functional system.

4 WWW.BZUPAGES.COM Interface Testing As the components are constructed and tested they are then linked together to check if they work with each other. It is a fact that two components that have passed all their tests, when connected to each other produce one new component full of faults. These tests can be done by specialists, or by the developers. Interface Testing is not focussed on what the components are doing but on how they communicate with each other, as specified in the "System Design". The "System Design" defines relationships between components, and this involves stating: What a component can expect from another component in terms of services. How these services will be asked for. How they will be given. How to handle non-standard conditions, i.e. errors. Tests are constructed to deal with each of these.

5 WWW.BZUPAGES.COM System Testing Once the entire system has been built then it has to be tested against the "System Specification" to check if it delivers the features required. It is still developer focussed, although specialist developers known as systems testers are normally employed to do it. System testing can involve a number of specialist types of test to see if all the functional and non-functional requirements have been met. In addition to functional requirements these may include the following types of testing for the non-functional requirements: Performance - Are the performance criteria met? Volume - Can large volumes of information be handled? Stress - Can peak volumes of information be handled? Documentation - Is the documentation usable for the system? Robustness - Does the system remain stable under adverse circumstances? There are many others, the needs for which are dictated by how the system is supposed to perform.

6 WWW.BZUPAGES.COM Acceptance Testing It checks the system against the "Requirements". It is similar to systems testing in that the whole system is checked but the important difference is the change in focus: Systems Testing checks that the system that was specified has been delivered. Acceptance Testing checks that the system delivers what was requested. The customer, and not the developer should always do acceptance testing. The customer knows what is required from the system to achieve value in the business and is the only person qualified to make that judgement.

7 WWW.BZUPAGES.COM Release Testing Even if a system meets all its requirements, there is still a case to be answered that it will benefit the business. Release Testing is about seeing if the new or changed system will work in the existing business environment. Mainly this means the technical environment, and checks concerns such as: Does it affect any other systems running on the hardware? Is it compatible with other systems? Does it have acceptable performance under load? These tests are usually run the by the computer operations team in a business.

8 WWW.BZUPAGES.COM Regression Tests With modern systems one person's system, becomes somebody else's component. It follows that all the above types of testing could be repeated at many levels in order to deliver the final value to the business. In fact every time a system is altered.

9 WWW.BZUPAGES.COM V-Model evolved from waterfall Model. Each phase must be completed before the next phase begins. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. Testing is emphasized in this model more than in the waterfall model. It is a structured approach to testing. Brings high quality into the development of our products. The V-Shaped Model

10 WWW.BZUPAGES.COM Steps in the V-Shaped Model Quality is guaranteed at each project stage.

11 WWW.BZUPAGES.COM AnalyzeDesign Detailed Design Component Test Assembly Test Prod TestDeploy AnalyzeDesign Detailed Design Component Test Assembly Test Prod TestDeploy Defect Origin Defect Discovered Stage Containment This term is used to identify problems existing in the product being developed before proceeding to the following stage. More errors than defects. Cost and effort for fixing problems is minimized. With Stage Containment

12 WWW.BZUPAGES.COM AnalyzeDesign Detailed Design Component Test Assembly Test Prod TestDeploy AnalyzeDesign Detailed Design Component Test Assembly Test Prod TestDeploy Defect Origin Defect Discovered Without Stage Containment More defects than errors. Fixes become more expensive and difficult.

13 WWW.BZUPAGES.COM AnalyzeDesign Detailed Design Component Test Assembly Test Prod TestDeploy AnalyzeDesign Detailed Design Component Test Assembly Test Prod TestDeploy Defect Origin Defect Discovered Without Stage Containment Worst Case!

14 WWW.BZUPAGES.COM Entry and Exit Criteria Entry Criteria The Term Entry Criteria refers tot the input conditions required from the previous processes to support a specific stage. Exit Criteria The term Exit Criteria refers to the output conditions required by a specific process to determine its thoroughness and correct completion. The Exit Criteria for one stage can constitute part of the Entry Criteria for the following stage.

15 WWW.BZUPAGES.COM DeliverableDescription Test ApproachExplains the objectives and scope of the test; Documents entry/exit criteria and key dates Test ScenariosProvides high-level descriptions of functionality to be tested Test Conditions and Expected Results Describes all items and results that must be covered to fulfill each Test Scenarios Test Cycle Control SheetGroups test scripts into logical categories (or cycles); documents when and by whom each cycle will be executed. Test ScriptsProvides step-bystep instructions and detailed results for a test executor to follow during test execution The Five Key Deliverables of Test Planning

16 WWW.BZUPAGES.COM Unit testing  The most ‘micro’ scale of Testing  A unit = smallest testable software component  Objects and methods  Procedures / functions  Performed by Programmer  A tester can help.  Requires detailed knowledge of the internal program design and code.  The units are tested in isolation.  Ensures the component is working according to the detailed design/build specifications of the module.  Not to be confused with debugging.  Also known as component, module, or program testing.

17 WWW.BZUPAGES.COM Integration Testing  Testing of more than one (tested) unit together to determine if they function correctly.  Focus on interfaces  Communication between units  It is done using the integration test design prepared during the architecture design phase.  Helps assembling incrementally a whole system, ensuring the correct ‘flow’ of data from the first through the final component.  Done by developers/designers and testers in collaboration  Also called Interface Testing or Assembly Testing.

18 WWW.BZUPAGES.COM System testing Testing the system as a whole - Black-box type testing that is based on overall requirements specifications; covers all combined parts of a system.  Ensures that system meets all functional and business requirements.  Focus  Verifying that specifications are met  Validating that the system can be used for the intended purpose  The system test design is derived from the system design documents and is used in this phase.  It can involve a number of specialized types of tests to check performance, stress, documentation etc. Sometimes testing is automated using testing tools.  Done by Independent testing group

19 WWW.BZUPAGES.COM Acceptance testing  To determine whether a system satisfies its acceptance criteria and business requirements or not.  Similar to System testing in that the whole system is checked, but the important difference is the change in focus.  Done by real business users.  It enables the customer to determine whether to accept the system or not.  Also called as Beta Testing, Application Testing or End User Testing.  Approach  Should be performed in real operating environment.  Customer should be able to perform any test based on their business processes.  Final Customer sign-off.

20 WWW.BZUPAGES.COM Faults are prevented and it stops fault multiplication. Avoids the downward flow of defect. Lower defect Resolution cost due to earlier detection. Improved quality and reliability. Reduction in the amount of Re-work. Improved Risk Management Validation and Verification at each level of stage containment Allows testers to be active in the project early in the project’s lifecycle. They develop critical knowledge about the system. Benefits of V-Model

21 WWW.BZUPAGES.COM Thank You!


Download ppt "WWW.BZUPAGES.COM Software Testing Process By: M. Muzaffar Hameed."

Similar presentations


Ads by Google