Chapter 2

Please register and post your comments

Static Testing vs Dynamic Testing

Static Testing means analyzing the program without executing the test scripts.  Static Testing will be done in GUI level.

For example, User Name and Password textboxes should be added in the Login Page.  Executing the above requirement without executing the test cases is Static Testing

Dynamic Testing means testing based on specific test cases by running programs. Dynamic Testing will be done in Functionality level.
For example, on entering a valid User Name and Password and click on the Login Button, application should navigate to Customer Account Details page.

Seven Principles of Software Testing

Principle 1 - Testing shows presence of defects
Testing can show that defects are present, but cannot prove that there are no defects.

Principle 2 - Exhaustive testing is impossible
Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases.

Principle 3 - Early testing
Testing activities should start as early as possible in the SDLC.

Principle 4 - Defect clustering
A small number of modules contain most of the defects discovered during pre-release testing.

Principle 5 - Pesticide paradox
The test cases need to be regularly reviewed and revised

Principle 6 - Testing is context dependent
Testing is done differently in different contexts (safety-critical software is tested differently from e-commerce site)

Principle 7 - Absence-of errors fallacy
Finding and fixing defects does not help if the system built is unusable and does not fulfill the users' need and expectations.

Fundamental Test Process

•     Test Planning and Control
•     Test Analysis and Design
•     Test Implementation and Execution
•     Evaluating Exit Criteria and Reporting
•     Test Closure Activities

Test Planning and Control

Test planning is the process involves in identification and implementation of all of the activities and resources required to meet the objectives identified in the test strategy.

Test control is the process involves comparing actual progress against the plan and reporting the status, including deviations from the plan.

Test Analysis & Design

During test planning, a set of test objectives will be identified.  The process of test analysis and design uses these objectives to identify the test conditions and create test cases from the test conditions derived.

Test Implementation & Execution

Test implementation is the process of organizing the test cases into test procedures (test scripts), finalizing test data and test environments and forming a test execution schedule to begin test execution.

Evaluating Exit Criteria and Reporting

Evaluating exit criteria is the activity where test execution is judged against the defined objectives.  This should be done for each test level, as for each we need to know whether we have done enough testing.

For test reporting IEEE 829 is the document specifies a Test Summary Report

Test Closure Activities

Once test executions are complete, the outputs should be captured and passed to the relevant person. Collectively, these are test closure activities.  Test closure activities collect data from completed test activities to consolidate experience, test ware & facts.

Psychology of Testing

If errors, defects or failures found during testing are communicated in a constructive way, bad feelings between the testers and the developers, designers, analysts can be avoided.

Please register and post your comments...Your valuable feedback will help us serve you better!