Download verification and validation and more Lecture notes Computer Science in PDF only on Docsity! Software Testing Strategies 2 Introduction ā¢ Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. ā¢ In simple words, testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements. Testing Methods ā¢ Black-Box Testing ā¢ The technique of testing without having any knowledge of the interior workings of the application is called black-box testing. ā¢ The tester is oblivious to the system architecture and does not have access to the source code. ā¢ Typically, while performing a black-box test, a tester will interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon. 5 White-Box Testing ā¢ White-box testing is the detailed investigation of internal logic and structure of the code. ā¢ White-box testing is also calledĀ glass testingĀ orĀ open-box testing. ā¢ In order to performĀ white-boxĀ testing on an application, a tester needs to know the internal workings of the code. ā¢ The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving inappropriately. 6 7 Levels of Testing for Conventional Software ā¢ Unit testing ā Concentrates on each component/function of the software as implemented in the source code ā¢ Integration testing ā Focuses on the design and construction of the software architecture ā¢ Validation testing ā Requirements are validated against the constructed software ā¢ System testing ā The software and other system elements are tested as a whole Software Testing Steps
Ā«We begin by ātesting-in-the-smallā and move toward ātesting-
in-the-largeā
Requirements
High-order
/ tests
Design Integration test
/ Ls
7S Ie TT
Testing
ādirectionā
10
11 Testing Strategy applied to Conventional Software ā¢ Unit testing ā Exercises specific paths in a component's control structure to ensure complete coverage and maximum error detection ā Components are then assembled and integrated ā¢ Integration testing ā Focuses on inputs and outputs, and how well the components fit together and work together ā¢ Validation testing ā Provides final assurance that the software meets all functional, behavioral, and performance requirements ā¢ System testing ā Verifies that all system elements (software, hardware, people, databases) mesh properly and that overall system function and performance is achieved 12 Example for Test Cases ā¢ Ensure that information flows properly into and out of the module. ā¢ Ensure that the algorithms respond correctly to specific error conditions ā¢ Misunderstood or incorrect arithmetic precedence ā¢ Mixed mode operations (e.g., int, float, char) Eg: we need to check an input field that can accept maximum of 10 characters. Scenario Test Step Expected Result Actual Outcome Verify that the input field that can accept maximum of 10 characters Login to application and key in 10 characters Application should be able to accept all 10 characters. Application accepts all 10 characters. Verify that the input field that can accept maximum of 11 characters Login to application and key in 11 characters Application should NOT accept all 11 characters. Application accepts all 10 characters