Software Testing Group 1 - BSCS 3 PDF

Summary

This document provides information about software testing procedures, methodologies, and strategies. It details the process of creating test cases, preparing test environments, and evaluating software applications. The document covers different debugging methods and their approaches.

Full Transcript

BSCS 3 PRESENTED BY : GROUP 3 BSCS 3 Software testing determines the correctness, completeness and quality of software being developed. IEEE: the process of exercising or evaluating a system or system component by manual or automated means t...

BSCS 3 PRESENTED BY : GROUP 3 BSCS 3 Software testing determines the correctness, completeness and quality of software being developed. IEEE: the process of exercising or evaluating a system or system component by manual or automated means to verify that it satisfies specified requirements or to identify differences between expected and actual results. Closely related to the terms: Verification: Is the software being developed in the right way? Validation: Is the right software being developed? BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 1. 4. 2. 5. 3. BSCS 3 1. 3. 2. 4. BSCS 3 4. 3. 2. 1. BSCS 3 THE PROCESS OF CREATING A SET OF DETAILED TEST CASES TO EVALUATE A SOFTWARE APPLICATION'S FUNCTIONALITY, PERFORMANCE, AND RELIABILITY AGAINST SPECIFIED REQUIREMENTS OR CONDITIONS. THIS INVOLVES IDENTIFYING TEST SCENARIOS, DEFINING INPUT DATA, AND SPECIFYING THE EXPECTED OUTCOMES THAT ENSURES COMPREHENSIVE TESTING COVERAGE AND UNCOVER DEFECTS IN THE SOFTWARE. BSCS 3 1. PREPARE TEST ENVIRONMENT 2. DETERMINE THE TEST SCOPE OF THE TEST CASE 3. DESIGN THE TEST CASE BSCS 3 THE PROCESS OF EVALUATING A SOFTWARE APPLICATION TO IDENTIFY IF IT MEETS SPECIFIED REQUIREMENTS AND TO IDENTIFY ANY DEFECTS THE PRIMARY GOAL OF SOFTWARE TESTING IS TO IDENTIFY AND FIX DEFECTS, IMPROVE QUALITY, AND ENSURE THE SOFTWARE IS RELIABLE, SECURE, AND PERFORMS AS INTENDED UNDER VARIOUS CONDITIONS. BSCS 3 THE PROCESS OF INVESTIGATING AND CHECKING A PROGRAM TO FIND WHETHER THERE IS AN ERROR OR NOT AND DOES IT FULFILL THE REQUIREMENTS OR NOT IS CALLED TESTING. WHEN THE NUMBER OF ERRORS FOUND DURING THE TESTING IS HIGH, IT INDICATES THAT THE TESTING WAS GOOD AND IS A SIGN OF GOOD TEST CASE. FINDING AN UNKNOWN ERROR THAT WASN’T DISCOVERED YET IS A SIGN OF A SUCCESSFUL AND A GOOD TEST CASE. BSCS 3 A SYSTEMATIC APPROACHES USED TO PLAN AND EXECUTE TESTING ACTIVITIES TO ENSURE SOFTWARE QUALITY AND RELIABILITY. THESE STRATEGIES AIM TO IDENTIFY DEFECTS AT VARIOUS STAGES OF DEVELOPMENT AND VERIFY THAT THE SOFTWARE MEETS ITS REQUIREMENTS. 10 STRATEGIES FOR SOFTWARE TESTING BSCS 3 A SEQUENTIAL DEVELOPMENT AND TESTING METHODOLOGY THAT EMPHASIZES THE RELATIONSHIP BETWEEN DEVELOPMENT STAGES AND CORRESPONDING TESTING PHASES BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 BSCS 3 OBJECT ORIENTED TESTING CAN BE PERFORMED AT DIFFERENT LEVELS TO DETECT THE ISSUES. AT THE ALGORITHMIC LEVEL, A SINGLE MODULE OF EVERY CLASS SHOULD BE TESTED. BSCS 3 DEVELOPING TEST CASES IN OBJECT- ORIENTED TESTING CONVENTIONAL METHODS CAN BE USED TO DESIGN TEST CASES IN OO TESTING. HOWEVER, THESE TEST CASES CAN BE REDEVELOPED WITH SOME SPECIAL FEATURES SO THAT THEY CAN USE FOR OBJECT- ORIENTED ENVIRONMENTS. THE FOLLOWING POINTS SHOULD BE CONSIDERED WHILE CREATING TEST CASES FOR OBJECT-ORIENTED ENVIRONMENTS. BSCS 3 OBJECT-ORIENTED TESTING METHODS BSCS 3 Challenges in Testing Object-Oriented Programs Traditional testing methods are not directly applicable to 0O programs as they involve OO concepts including encapsulation, inheritance, and polymorphism. These concepts lead to issues, which are yet to be resolved. BSCS 3 Software testing tools BSCS 3 Software testing can be performed either manually or using automated testing tools. In manual testing, test cases are generated, the software is executed, and the result produced is documented manually. BSCS 3 STATIC TESTING TOOLS DYNAMIC TESTING TOOLS –These tools test the software without –These tools interact with the executing it. rather,they are concerned with software while execution and help analyzing the code or documentation for the testers by providing useful syntax checking, consistency, etc. information about the program at different events. BSCS 3 BSCS 3 debugging BSCS 3 Debugging is defined as a process of analyzing and removing the error. It is considered necessary in most of the newly developed software or hardware and in commercial products/ personal application program. BSCS 3 debugging Process During debugging, errors are encountered that range from less damaging (like input of an incorrect function) to a catastrophic (like system failures, which lead to economic or physical damage). Once errors are identified in a software system, to debug the problem, a number of step are followed. BSCS 3 BSCS 3 1. defect confirmation / identification A problem is identified in a system and a defect report is created. A software engineer maintains and analyzes this error and finds a solution to the following questions. Does a defect exist in the system? Can the defect be reproduced? What is the expected / desired behavior of the system What s the actual behavior BSCS 3 2. defect analysis If the defect is genuine, the next step is to understand the root cause of the problem. Generally, engineers debug by starting a debugging tool(debugger) and they try to understand the root cause of the problem by following a step-by-step execution of the program. BSCS 3 3. defect resolution Once the root cause of the problem is identified, the error can be resolve by making an appropriate change to the system by fixing the problem BSCS 3 BSCS 3 debugging strategies BSCS 3 debugging strategies As debugging is a difficut and time- comsuming task, it is essential to develop a proper debugging strategy. This strategy helps in performing the process of debugging easily and efficiently. Commonly-used debugging strategies are: Brute-force, Induction strategy, deduction strategy, backtracking strategy, and debugging by testing. BSCS 3 BSCS 3 Brute force method is a method commonly used in debugging but the least effiecient method. It is generally used when all other available methods fails. debugging is done by taking memory (or storage) dumps. the program is loaded with the output statements that produce a large amount of information including the intermediate values. Analyzing this information may help to identify the errors cause. However, using a memory dump for finding errors requires analyzing huge amount of information or irrelevant data leading to waste of time and effort. BSCS 3 induction strategies This strategy is a “disciplined thought process” where errors can be debugged by moving outwards from the particular to the whole. This strategy assumes that once the symptoms of the errors are identified, and the relations between them are established, the errors can be easily detected by just looking at the symptoms and relationships. BSCS 3 Deduction Strategy In this strategy, the first step is to identify all the possible causes and then using the data each cause is analyzed and eliminated if it is found invalid. Note that as in induction strategy, deduction strategy is also based on some assumptions. BSCS 3 Backtracking Strategy This method is effectively used for locating errors in small programs. According to this strategy, when an error has occurred, one needs to start tracing the program backward one step at a time evaluating the values of all variables until the cause of error is found. This strategy is useful but in a large program with many thousands of lines of code, the number of backward paths increases and becomes unmanageable. BSCS 3 Debugging by Testing This debugging method can be used in conjunction with debugging by induction and debugging by deduction methods. Additional test cases are designed that help in obtaining information to devise and prove a hypothesis in induction method, and to eliminate the invalid causes and refine the hypothesis in deduction method. Note that the test cases used in debugging are different from the test cases used in 2 the testing process. Here, the test cases are specifically designed to explore the internal program state. BSCS 3 SOFTWARE TEST REPORT BSCS 3 Software test report (STR) is a document, which provides summary of the outcome of testing in form of items tested, test results (like defect density), and the effectiveness of testing. BSCS 3 BSCS 3 As we look to the future, these technologies will play a crucial role in shaping a better world for generations to come.

Use Quizgecko on...
Browser
Browser