70 likes | 79 Vues
Explore the concept of testing and its importance in software development. Learn about different types of tests, testing cycle, test planning, execution, analysis, and reporting.
E N D
What is it, Why do it? • Testing is a set of activities aimed at validating that an attribute or capability of a program or system is able to meet its documented requirements • Testing is done to detect failures so that defects may be uncovered and corrected
Sample Testing Cycle • Requirements analysis: Testing should begin in the requirements phase of the life cycle. During the design phase, testers work with developers in determining what aspects of a design are testable and with what parameters those test work • Test Planning: Test strategy, test plan, test environment (testbed) creation. A lot of activities will be carried out during testing so a plan needs to be developed • Test Development: Test procedures, test scenarios, test cases, test scripts to use during testing • Test Execution: Testers execute the software based on the plans and tests and report any errors to the development team • Test Results Analysis or Defect Analysis: Is done by the development team and may include the client to decide what defects should be treated, fixed, rejected or deferred • Retesting the resolved defects: Once a defect has been dealt with by the development team, it is retested by the testing team • Regression Testing: Retesting a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made • Test Reporting: Once testing is completed, final reports on testing results are reviewed to determine whether or not the software tested is ready for release
Test Plan Document • Overview:Overview of the focus of this testing • Test Cases: List all the test cases that will be performed, their purpose and function, and who will be responsible for performing them • Test Data: Indicate where the test data is coming from and who is responsible for providing it. How will it be created and accuracy ensured? • Acceptance Criteria: Define the testing approval process. Identify the specific criteria that will be involved for acceptance of each test. Include severity definitions, pass/fail definitions • Resolution Log: Describe the procedure for tracking problems. What are the items that will be included in the log? • Special Test Issues: Describe any special or unique testing issues that should be considered in this system implementation • Testing Schedule: Define the specific schedule for performing the testing. When will each test case be performed, and what are its prerequisites and dependencies? • Environment:Identify the environment the test activities will occur in • Test Results: Indicate how test results will be reported, documented or summarized