Lecture "Software Verification and Validation" in Object Oriented Software Engineering course at Beaconhouse National University Lahore for Spring 2017 Semester by Hafiz Ammar Siddiqui
2. Software Verification and Validation
■ Software Verification
– Check whether the software meets the requirements and specifications
– Asks the question “Are we buildingthe system right?”
– Uses methods like walkthrough and inspection
– Usually done without executing the software
■ Software Validation
– Check whether software meets the customer expectations and needs
– Asks the question “Are we buildingthe right system?”
– Uses method like black box testing and white box testing
– Done with executing the software
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
3. Software Testing
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
4. Software Testing
■ Process of running a software with the intent of finding errors
■ Shows the presence of errors in a software
■ Check that a program does what it is intended to do
■ Execute the software with artificial data to check for defects
■ Identify situations in which the behavior of the software is incorrect or does not
conform to its specification
■ Software testing mainly consists of following steps
1. Design test cases
2. Prepare test data
3. Run program with test data
4. Compare results to test cases
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
6. Equivalence Partitioning
■ Software testing technique that divides the input and/or output data of a software
unit into partitions of equivalent data which create the test cases
■ Equivalence partitions are created from the requirements specification for input
attributes that influence the processing of the test object
■ Create partitions of the input data set
– Input data belonging to same partition will have the same effect on the software
– Create a test case for each partition
– Run the test case with any value in the partition
– If the test case is successful for any single value from the partition then it is
successful on all the data in the partition
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
7. Black Box Testing
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
8. Black Box Testing
■ Software testing method in which the tester is not aware of the internal structure,
design, or implementation of the item being tested
– Test cases are created using the requirement specifications of the software
– Programming knowledge is not required
– Implementation knowledge is not required
– Carried out by testers or users
– Performs functional and external testing
– Examines the software inputs and outputs
– Provides limited coverage of software
– Does not help in optimizing the software
– Can be carried out quickly
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
9. Structural or White Box Testing
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
10. Structural or White Box Testing
■ Software testing method in which the tester is aware of the internal structure,
design, or implementation of the item being tested
– Test cases are created using the detailed design of the software
– Programming knowledge is required
– Implementation knowledge is required
– Carried out by developers
– Performs structural and internal testing
– Examines the software thoroughly
– Provides maximum coverage of software
– Helps in optimizing the software
– Requires a lot of time
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY
11. Reference
■ Object Oriented Software Engineering: Using UML, Patterns, and Java by Bernd
Bruegge, Allen H. Dutoit, Prentice Hall,2010
■ Software Engineering by Ian Sommerville, Addison-Wesley, 2011
FROM: HAFIZ AMMAR SIDDIQUI – COURSE: OBJECT ORIENTED SOFTWARE ENGINEERING – INSTITUTE: BEACONHOUSE NATIONAL UNIVERSITY