Software Testing Experience

Wednesday, April 9, 2008

Testers Dictionary

This Dictionary is a Compilation of related terms in Software Testing.

Alpha Test: Alpha testing happens at the development site just before the roll out of the application to the customer. Alpha tests are conducted replicating the live environment where the application would be installed and running
Behavioral Tests: Behavioral Tests are often used to find bugs in the high-level operations, at the levels of features, operational profiles, and customer scenarios.
Beta Tests: Beta testing happens at the actual place of installation in the live environment. Here the users play the role of testers.
Black Box Tests: Black Box tests aim at testing the functionality of the application basing on the Requirements and Design documents.
Defect: Any deviation in the working of the application that is not mentioned in any documents in SDLC can be termed as a defect.
Defect Density: Defect Density is the number of defects raised to the size of the program.
Defect Report: A report, which lists the defects, noticed in the application.
Grey Box Tests: Grey Box tests are a combination of Black Box and White Box tests. Installation Tests: Installation tests aim at testing the installation of an application. Testing of application for installing on a variety of hardware and software requirements is termed as installation.
Integration Tests: Testing two or more programs, which together accomplish a particular task. Also, Integration Tests aim at testing the binding and communication between programs. Load Tests: Load testing aims at testing the maximum load the application can take basing on the requirements. Load can be classified into number of users of the system, load on the database etc.
Performance Tests: Performance tests are coupled with stress testing and usually require both hardware and software instrumentation.
Quality Control: Relates to a specific product or service.
Verifies whether specific attributes are in, or are not in, a specific product or service.
Identifies defects for the primary purpose of correction defects. Is the responsibility of team/workers.
Is concerned with a specific product.
Quality Assurance: Helps establish process.
Sets up measurements programs to evaluate processes.
Identifies weakness in processes and improves them.
Is management responsibility, frequently performed by staff function.
Is concerned with all of the products that will ever be produced by a process.
Is sometimes called quality control over Quality Control because it evaluates whether quality is working.
QA personnel should not ever perform Quality Control unless it is to validate QC.
Quality Engineering Tools:
The Sever Quality Engineering Tools are as follows:
Flow Charts.
Run Charts.
Check Sheet.
Histogram.
Pareto Diagram.
Ishikawa Diagram.
Scatter Diagram.

The tools can be used in the following areas:
Problem Representation (Flow Charts, Run Charts)
Data Collection (Check Sheet, Histogram)
Data Analysis and Synthesis (Histogram, Pareto Diagram, Ishikawa Diagram and Scatter Diagram)

The Quality Management Tools:
The Sever Quality Management Tools are as follows:
Process Decision Program Chart (PDPC).
Activity Network.
Tree Diagram.
Matrix Data Analysis Diagram.
Relationship Diagram.
Affinity Diagram.
Prioritization Matrix.

The tools can be used in the following areas:
Problem Representation (PDPC, Activity Network, Tree Diagram)
Data Collection (Matrix Data Analysis Diagram)
Data Analysis and Synthesis (Relationship Diagram, Tree Diagram, Affinity Diagram, Prioritization Matrix)

Recovery Tests: Recovery testing is a system test that focuses the software to fall in a variety of ways and verifies that recovery is properly performed. If recovery is automatic, reinitialization, checkpointing mechanisms, data recovery and restart are evaluated for correctness. If recovery requires human intervention, the mean-time-to-repair (MTTR) is evaluated to determine whether it is within acceptable limits.
Regression Tests: Regression tests address the changes in the functionality. If the application undergoes changes, tests are conducted to verify if the basic functionality is working properly and also the changes are working as intended. Regression tests become indispensable when there are continuos changes in the application.
Security Testing: Security testing attempts to verify that protection mechanisms built into a system will, in fact, protect it from improper penetration. During Security testing, password cracking, unauthorized entry into the software, network security are all taken into consideration.
Smoke Tests: "Smoke testing might be a characterized as a rolling integration strategy". Smoke testing is an integration testing approach that is commonly used when "shrink-wrapped" software products are being developed.It is designed as a pacing mechanism for time-critical projects, allowing the software team to assess its project on a frequent basis. The smoke test should exercise the entire system from end to end. Smoke testing provides benefits such as:
1) Integration risk is minimized.
2) The quality of the end-product is improved.
3) Error diagnosis and correction are simplified.
4) Progress is easier to asses.
Stress Tests: Stress testing executes a system in a manner that demands resources in abnormal quantity, frequency, or volume.
The following types of tests may be conducted during stress testing;
· Special tests may be designed that generate ten interrupts per second, when one or two is the average rate.
· Input data rates may be increases by an order of magnitude to determine how input functions will respond.
· Test Cases that require maximum memory or other resources.
· Test Cases that may cause excessive hunting for disk-resident data.
· Test Cases that my cause thrashing in a virtual operating system.
Structural Tests: Structural Tests find bugs in low-level operations such as those that occur down at the levels of lines of code, database schemas, chips, subassemblies, and interfaces. System Tests: System tests concentrate on testing the behavior of the application. These tests are usually conducted based on the Requirements to check if the system is performing the required.
Test: An activity in which a system or component is executed under specified conditions, the results are observed or recorded, and an evaluation is made of some aspect of the system or component.
Test Case: A set of test inputs, execution conditions, and expected results developed for a particular objective.
Test Case Types: There are six types of test cases mentioned by Bill Hetzel, Requirements Based, Design-Based, Code-Based, Randomized, Extracted and Abnormal.
Test Procedure: The detailed instruction for the set-up, execution, and evaluation of results for a given test case.
Test Design: Test Design depicts the design of tests which need to be executed basing on the Design of the application.
Test Granularity: Test Granularity refers to the fitness or coarseness of a test’s focus.
Test Plan: A Test Plan depicts the plan for conducting tests. This usually includes: Test Strategy, Schedules and Resource allocation.
Unit Tests: Testing the individual units of the software. Unit can be an input field, a screen, group of screens performing one single task, one part of the program or a complete program.
Validation methods
Proven test-design methods provide a more intelligent and effective means of identifying tests than a purely random approach. Black-box methods for function-based tests The following methods are commonly used:
1. Equivalence Partitioning.
2. Boundary Value Analysis.
3. Error Guessing.
The following are the lesser-used methods.
1. Cause-Effect graphing.
2. Syntax Testing.
3. State Transition Testing.
4. Graph Matrix.
White Box Tests: White Box Tests aim at testing the program to the set standards rather than merely checking if the application is running as per requirement or not.

Labels:

posted by Balaji Visharaman at 7:08 PM

0 Comments:

Post a Comment

<< Home