130 likes | 267 Views
Acceptance Testing Senior Design Fall 2013. Don Evans. Types of Testing. Unit Testing Components/modules are tested individually by the developers. Integration Testing a.k.a. System Testing Component interfaces are tested by the developers. May use a top down or bottom up approach.
E N D
Types of Testing • Unit Testing • Components/modules are tested individually by the developers. • Integration Testing a.k.a. System Testing • Component interfaces are tested by the developers. • May use a top down or bottom up approach. • System testing tests the emergent behavior of a system. • Validation Testing a.k.a Acceptance Testing • Demonstrates that the system as a whole conforms to the requirements outlined in the user and engineering requirements documents. Supervised by the customer or customer’s representative to ensure objectivity. • Acceptance Testing may include Functional Testing , Recovery Testing, Stress Testing, Performance Testing and Usability Testing
Testing Objectives • Testing is intended to show that a program does what it is intended to do and to discover program defects before it is put into use. • You check the results of the test run for errors, anomalies or information about the program’s non-functional attributes. • Can reveal the presence of errors NOT their absence. It is impossible to prove that a product is 100% error-free. • There should be at least one test for every requirement in the requirements document.
User Acceptance Testing Approach • Develop a set of test cases that exhaustively test the system. • There must be at least one test case for each requirement. • Select the testing team. • Field-test the system. • Test the system in the environment in which it was intended to be used.
Requirements for Test Team • Independent of the design or implementation of the system. • Understand the knowledge problem and computer technology. • Well versed in the organization’s goals.
Requirements Based Testing • Requirements-based testing involves examining each requirement and developing a test or tests for it. • MHC-Patient Management System requirements: • If a patient is known to be allergic to any particular medication, then prescription of that medication shall result in a warning message being issued to the system user. • If a prescriber chooses to ignore an allergy warning, they shall provide a reason why this has been ignored.
Requirement Test Cases • Set up a patient record with no known allergies. Prescribe medication for allergies that are known to exist. Check that a warning message is not issued by the system. • Set up a patient record with a known allergy. Prescribe the medication to that the patient is allergic to, and check that the warning is issued by the system. • Set up a patient record in which allergies to two or more drugs are recorded. Prescribe both of these drugs separately and check that the correct warning for each drug is issued. • Prescribe two drugs that the patient is allergic to. Check that two warnings are correctly issued. • Prescribe a drug that issues a warning and overrule that warning. Check that the system requires the user to provide information explaining why the warning was overruled.
Performance testing • Part of release testing may involve testing the emergent properties of a system, such as performance and reliability. • Tests should reflect the profile of use of the system. • Performance tests usually involve planning a series of tests where the load is steadily increased until the system performance becomes unacceptable. • Stress testing is a form of performance testing where the system is deliberately overloaded to test its failure behavior.
Stages in the Acceptance Testing Process • Define acceptance criteria • Plan acceptance testing • Derive acceptance tests • Run acceptance tests • Negotiate test results • Reject/accept system
Test Case Template Test #: Requirements Mapping: Tester: Test Date: Pre-conditions: Test: step 1: step 2: … Expected Results: Actual Results: Test Passed/ Test Failed Comments:
Chapter 8 Software testing Senior Design 2012-13 Acceptance Test Plan Examples • Cause And Effect Acceptance Test Plan • Automation Team 2 Acceptance Test Plan
Sources • Software Engineering, 9e. – Ian Sommerville • SW Engineering - A Practitioner’s Approach, 6e. -Roger S. Pressman