Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u) Contents • What is test execution? • Phases of Testing – Unit Testing – Integration Testing – System Testing • Test Results Analysis of Regression Tests • User Acceptance Testing • Defect Tracking and Automated Tracking tool • Test Program Status Tracking and EVMS • Test Metrics Collection and Analysis – White Box – Black Box • Test Execution Review Test Execution Flow What Is Test Execution? • Stage 5 of the ATLM • Creation of testing environment • Tests are carried out on the application – Input = test procedures – Output = satisfied/altered acceptance criteria • Software Problem Reporting • E.g. CourseMarker Phases of Testing • Unit, Integration, System and User Acceptance testing. • Tests executed according to the Test Plan for each phase. Phases of Testing: Unit Testing • Consistent with Development Schedule • Automated Results Checkout Process • White Box Level – Involves detailed look at code • Best to execute unit tests as soon after the code has been created. • Static Analysis • Code Profiling • Development Test Tools • Test Documentation – Metric Collection – Process Improvement – Software development folders (SDF) and Unit Test Evaluation Criteria Phases of Testing: Integration Testing • “Units that are incrementally integrated are tested together based on control flow” • Some integration testing takes place during unit testing • Test procedures based on integration test design addressed earlier in the ATLM • Results are analyzed and documented • Refining Test Procedures • Some test scripts can be automated for re-use in system testing • End-user approval = end of unit and integration testing Phases of Testing: System Testing • • • • Higher Level Performed by a separate test team May require many individual test procedures Test Execution – False Negatives – False Positives • Software Problem Report Test Results/Analysis of Regression Tests • New application baseline – Build release notes should accompany the new build • Smoke Tests • Regression Testing (after defects have been fixed/modified) – Investigate high risk areas of code – Indicator of developer behaviour • Test team investigates areas with larger number of problem reports • Analysis is a clear indicator of whether test execution procedures are useful in locating errors. – Where more test effort is required • System testing is complete when criteria have been met User Acceptance Testing • • • • Involves End-user participation Consists of the subset of the suite of tests performed at system level Defects at UAT level will be documented in SPRs Satisfactory resolutions of level 1 and 2 SPRs = conclusion to testing Defect Tracking and New Build Process • • • • • • • • Test team performs problem reporting operations in compliance with a defined process – SPR creation – E-mail Notification to configuration management(CM) and developers New software is checked via CM tools New software build issuance Defect Priority – Fatal, high, medium, low Engineering review Board (ERB) Automated Defect Tracking Tool – Ensures reported defects receive proper attention – Central defect tracking repository – Has several basic characteristics Automated Test Tools – Maintain test results/permit automatic generation of test results Recommended that SPRs are generated per life-cycle stage Test Program Status Tracking and EVMS • Helps to efficiently handle problems that arise during test effort • Test engineer must produce meaningful reports based on test plan measures and metrics – Test log – Test coverage reports Test Program Status Tracking and EVMS Cont… • • • • To effectively monitor testing progress and report to senior management, an earned value approach is used. EVMS = one of the best ways to track progress Tracks value of completed works and compares it to planned costs and actual – Provides true measure of schedule and cost status – Enables creation of effective corrective actions 4 steps – Identify short tasks – Schedule each task – Assign a budget to each task – Measure progress of each task Earned value for work completed – planned budget = Schedule Variance Earned value for work completed – actual cost = Cost Variance Test Metrics Collection and Analysis • Metrics = key indicators of test coverage progress and quality of test effort • Separated into white box and black box testing efforts • HOWEVER, gathering too many metrics can be time consuming Test Metrics Collection and Analysis: White Box Testing • Targets application’s internal working • Measures the DEPTH of testing – Coverage Analysis • Code Analysis and Code Profiling e.g. Rational Quantify – Objective is to locate complex areas of source code • Fault Density (Fd) = Nd/KSLOC – Predicts the remaining number of faults • Design Complexity Metrics measures the number of ways a module can cal other modules Test Metrics Collection and Analysis: Black Box Testing • Focus on the BREADTH of testing • Based on application’s external considerations • Each metric is assigned to one of three categories – Coverage – Progress – Quality • • • Test Metrics Collection and Analysis: Black Box Testing Coverage – Test Coverage – System Coverage – Functional Coverage Progress – Test Procedure Execution Status – Error Discovery Rate – Defect Aging – Defect Fix Rate – Defect Trend Analysis Quality – Test Success Index – Defect Density – Test Effectiveness – Problem Report Acceptance Criteria Metric – Test Automation Metric Test Execution Review • Stage 6 of ATLM • Review test performance e.g. metrics – Helps determine enhancements to be made • Document well performed activities • Lessons Learned should be acknowledged/documented – Aim to ensure best practices are used • Integrate a continual iterative learning process – Encouraged as improvement opportunities • “check pulse” • Documentation should be easily accessible to all team members • Corrective actions suggested must be evaluated • Represents he need for process improvement Questions?