Processes to Support Software Testing
These processes help you track testing progress. This section covers:
- The Defect Management Life Cycle
- Traceability Matrix
- Software Testing Estimation Techniques
- Configuration Management
- Change Management
People develop software, and it is unrealistic to expect millions of lines of code to be defect-free. Defects arise for several reasons:
- Requirements are not communicated clearly.
- Programming errors occur during development.
- The system design is complex.
- Documentation is poor or incomplete.
- Changes to the software design are difficult to manage.
What Is the Defect Management Life Cycle and How Does It Work?
The defect life cycle manages a defect from discovery through closure. Its stages are:
- New: A newly discovered defect receives this status.
- Open: The defect is under review.
- Duplicate: The same defect has already been reported.
- Assigned: A developer has been assigned to fix the defect.
- Retested: After a fix, the tester checks whether the defect is resolved.
- Reopened or closed: Close a resolved defect; reopen it if the fix has not resolved the problem.
A traceability matrix connects business, application and security requirements with implementation and testing. It helps you assess how much of the required work has been completed.
The matrix is especially useful on complex projects because it lets you trace relationships across the work. Create a worksheet with one set of values in rows and another in columns. Mark a cell wherever its row and column are related.
For example, list requirements down the left and testing processes across the top. Map completed tests to their requirements to calculate the percentage of requirements covered.
What Are Software Testing Estimation Techniques?Estimation techniques vary with a project’s domain, and the first estimate is difficult to get right. Even so, estimation is an important part of the software development life cycle (SDLC). It helps predict the time needed for a task.
Estimates can cover effort and cost as well as time. Use past experience, assumptions, documents and calculated risks to develop them. Estimates help an organization bid for a project and reduce the risk of testing budget overruns or late completion.
- Delphi estimation helps a team reach agreement through independent estimates and feedback. Each person submits an anonymous estimate to a coordinator. If the estimates are close enough, the team can make a decision. If they differ substantially, the coordinator shares a summary and asks the team to estimate again.
- A work breakdown structure divides a large project into a hierarchy of smaller components. Estimate those components to support detailed scheduling and cost estimates.
- Three-point estimation also breaks a large project into smaller tasks. For each task, prepare an optimistic estimate, A, assuming favorable conditions; a most likely estimate, B, allowing for problems that can be resolved; and a pessimistic estimate, C, assuming unfavorable conditions. The weighted estimate is (A + 4 × B + C) / 6.
- The function point method estimates total effort as the total number of function points multiplied by the effort estimated per function point. It weights the individual function points, classifying them as complex, medium or simple before estimating.
Configuration management maintains consistency in a system’s performance. It includes:
- Give each configuration item a unique identifier.
- Identify all documents describing each item.
- Group related items into baselines.
- Label configuration items and baselines after each revision.
Software development is complex, and these problems are common:
- Developers overwrite each other’s changes.
- Poor version control makes integration difficult.
- Compiler and development-tool versions are incompatible.
- It is unclear which test cases apply to the current software version.
Configuration management addresses these problems through:
- Version management: Record each version of the test object and its corresponding configuration items.
- Configuration identification: Uniquely identify the system, every revision and the components in each revision.
- Incident and change-request status documentation: Record incidents, requested changes and their current status.
- Configuration audits: Document all software components clearly and make configurations easy to identify.
What Is Configuration Management?
What Is Change Management?
Change management deals with changes in how people work, from the whole organization to the individual. It includes:
- Adapting to change: Structured processes support positive business change. During a recession or economic slowdown, stable mechanisms help staff manage pressure and difficult conditions.
- Controlling change: Respond to changes in the business environment, monitor what changes and keep track of system details.
- Effecting change: Generate profit from positive changes.
What Is Change Management?
We guarantee that your free online training will make you pass your Software Testing Certification Exam!
- 01
Register Online
Choose your Accredited certification and complete your registration.
- 02
Receive Your Access Code
Your personal exam access code is delivered instantly by email.
- 03
Prepare & Take Your Exam
Study your free training and answer your 50 multiple-choice questions online.
- 04
Earn Your Lifetime Credential
Receive your worldwide-valid certificate and verifiable digital badge.
YOUR FREE PREMIUM ONLINE TRAINING
Your Software Testing Revealed, Second Edition, Is Ready.
We created your training with a consortium of renowned business and people leaders, software testing coaches, mentors, experts and authorities from all major industries. Everyone visiting International Software Test Institute™ can access it. Find the materials through Your Free Software Testing Book and Your Free Premium Software Testing Training in the top menu.
These materials are the copyrighted intellectual property of International Software Test Institute™. We share them freely with everyone because sharing our expertise serves software testing professionals and helps the field develop.
Your certification examination uses multiple-choice questions. Read your online training to build the knowledge you need to pass your examination and earn your Software Testing Certification.
We guarantee that your free premium online training will make you pass your Software Testing Certification Exam!
