Sunday, September 11, 2011

Alpha & Beta Testing

It's actual operational testing by potential users/customers or an independent test team at the developers' site.
Alpha testing is internal acceptance testing, before the software goes to beta testing.

A product's beta is an officially released version of a product which includes most of the product's functionality. The beta version is intended for external testing of the product in order to identify configurations that cause problems, as well as collect requirements and suggestions from users.

In prototype model development approach this kind of testing is used.

Beta testing comes after alpha testing and can be considered a form of external user acceptance testing. Versions of the software, known as beta versions, are released to a limited audience outside of the programming team. The software is released to groups of people so that further testing can ensure the product has few faults or bugs. Sometimes, beta versions are made available to the open public to increase the feedback.

Boundary Value Analysis

In boundary value analysis, test cases are generated using the extremes of the input , e.g. maximum, minimum, just inside/outside boundaries, typical values, and error values.

Components of QA testing:

Functional testing.

Integration Testing.

System Testing.

N+1 Testing

A variation of Regression Testing. Testing conducted with multiple cycles in which errors found in test cycle N are resolved and the solution is retested in test cycle N+1. The cycles are typically repeated until the solution reaches a steady state and there are no errors.

Path Testing

Testing in which all paths in the program source code are tested at least once.

Smoke Testing

A quick-and-dirty test that the major functions of a piece of software work. Originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch fire

Smoke testing refers to physical tests made to closed systems of pipes to test for leaks. By metaphorical extension, the term is also used for the first test made after assembly or repairs to a system, to provide some assurance that the system under test will not catastrophically fail. After a smoke test proves that "the pipes will not leak, the keys seal properly, the circuit will not burn, or the software will not crash outright, system is ready for more stressful testing.

Guide lines for Smoke testing:

Work with the Developer

Because smoke testing focuses on changed code, you must work with the developer who wrote the code. You will have to understand:

  • What changed in the code. To understand the change, you will also have to understand the technology used; the developer can help explain it.

  • How the change affects the functionality.

  • How the change affects the interdependencies of various components.

Conduct a Code Review Before Smoke Testing

Before you run a smoke test, conduct a code review that focuses on any changes in the code. Code reviews are the most effective and efficient method to validate code quality and ensure against code defects and faults of commission. Smoke tests ensure that the primary critical or weak area identified either by code review or risk assessment is primarily validated, because if it fails the testing cannot continue.


Bottom-up and top-down approaches in Regression Testing.

Bottom-up approach :

In this approach testing is conducted from sub module to main module. If the main module is not developed a temporary program called DRIVERS is used to simulate the main module.

Top-down approach : In this approach testing is conducted from main module to sub module. if the sub module is not developed a temporary program called STUB is used for simulate the submodule.