Sponsored Ad

Thursday, October 1, 2009

Software Testing and Quality Assurance

This article describes a highly practical bottom-up introduction to software testing and quality assurance. Every organization delegates testing and high-level quality assurance actions in a several way. This course offers a vast view of both quality assurance and testing so that participants will have a broad awareness of many of the actions that contribute to handling the quality of a software product.

1. The Software Life Cycle

An introduction to the basic elements of the life cycle of the application, along with several life cycle models that are normally in use is also evidence of how it fits into the life cycle.

a. The life cycle models

b. Types of evidence and where they fit in

i. Unit Testing

II. Regression testing

III. Integration Test

IV. Test System

2. The Role of Testing and QA

An introduction of typical responsibilities of test groups and quality assurance groups, along with common variations. The difference between testing and quality assurance , and the manner that these terms are often used. The anatomy of a bug.

3. Risk Management

An overview to the risk management process – identifying risks, analyzing them, mitigating them, contingency planning, and supervising. How to use a risk-based approach to prioritize testing tasks and plan the appropriate level of resources to apply to testing, given that you can’t test everything.

a. Risk Management Process

i. Identify

ii. Analyze

iii. Plan

iv. Mitigate

v. Track

b. Risk-Based Testing

i. Using a Risk Analysis to Plan Testing

ii. Quality Criteria

iii. Risk Catalogs

iv. Risk-Based Release Decisions

v. When to Use Alternate Methods to Mitigate Risk

4. Exploratory Testing

An introduction to the concept of “Testing in the Dark.” You get an unlabeled CD on your desk

with a note that says “Please test.” How to use exploratory testing to search bugs even in the most unfavourable conditions. How to make exploratory testing a disciplined process, distinct from a chaotic ad-hoc testing process. Also, how to take advantage of exploratory testing even in the most organized development processes.

a. Testing in the Dark

b. Anatomy of Exploratory Testing

c. Differences Between Exploratory and Ad-Hoc Testing

d. Knowing When Exploratory Testing is the Best Approach

f. Reporting

e. Supplementing a Documented Test Suite with Exploratory Testing

5. System Testing

The high-level approaches that evaluators should apply when performing system testing, along with some examples of how it might apply.

a. Load Testing

b. Benchmarks

c. And Hot Spot Stress Tests

d. Spike Bounce & Testing

e. Reliability testing

f. Configuration Testing

g. Acceptance Testing

h. Example of system test strategies

6. Test Documentation

How to make an arsenal of repeatable tests such that you don’t have to remake the test design process each time you re-test the software. How to carefully calibrate the level of detail in the test documentation so that there is a good return on the investment for the time it takes and the later maintenance that will be required.

a. Rude Awakening – IEEE 829

b. What Will Your Test Documents Be Used For?

c. The Quality Plan

d. Test Project Planning

e. Test Case Documentation

i. Manual Tests

ii. Automated Tests

7. Bug Isolation and Reporting

When software testers are successful, they will discover bug symptoms. This part defines the fine

art of bug isolation – turning a symptom into a well-defined bug report. Also, the organizational factors that need to be considered in order to maximize the chance of getting the bug fixed.

a. "A problem well-stated is half-solved."

b. The Goal of Bug Reporting

c. The Importance of Reproducibility

d. Isolation and Simplification

i. Bottom-up

ii. Top-down

iii. The “binary defect search” technique

e. Generalization

f. Bug Reporting

i. Important Elements

ii. Working with Developers

iii. Follow-up

8. Static Testing

How do I look for errors without running the software principles? The introduction of a handful of analysis and inspection techniques, such as software testers should participate? Also, how to use static analysis tools and services?

a. Reviews and inspections

i. Desk Clock

II. Tutorial

III. Inspection

IV. The combination of screening techniques

b. Static Analysis Tools

i. Analysis of the complexity

II. Defect detection

III. Coding Compliance

9. Metrics

A sample of the metrics that the tester can use to demonstrate progress.

a. Code Coverage Analysis

b. Functional requirements and coverage

c. Bug Metrics

i. Search Price vs. rate close

II. Gravity

III. Comments Bug

10. Process Improvement

The value of building continual improvements and the difficulties of big-bang reengineering. How to approach process improvement?

a. Avoiding “Genius Mode” – Don’t Jump to Solutions

b. Identify the Problems

c. Prioritize

d. Identify Solutions

e. Choose a Solution

f. Manage the Improvement

11. Overview of Automated Testing

An explanation to the benefits and pitfalls of automated test execution. Conditions where test automation is most useful. How to avoid created unmaintainable tests? How data-driven techniques can allow non-programmers to create automated tests.

0 comments:

Post a Comment

Sponsored Ad

Development Updates

Tech Updates