Pair Testing
   HOME

TheInfoList



OR:

Pair testing is a
software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invol ...
technique in which two team members work together at one keyboard to test the
software application Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
. One does the testing and the other analyzes or reviews the testing. This can be done between one tester and
developer Developer may refer to: Computers * Software developer, a person or organization who develop programs/applications * Video game developer, a person or business involved in video game development, the process of designing and creating games * Web d ...
or
business analyst A business analyst (BA) is a person who processes, interprets and documents business processes, products, services and software through analysis of data. The role of a business analyst is to ensure business efficiency increases through their know ...
or between two testers with both participants taking turns at driving the keyboard.


Description

This can be more related to
pair programming Pair programming is an software development technique in which two programmers work together at one workstation. One, the ''driver'', writes code while the other, the ''observer'' or ''navigator'', reviews each line of code as it is typed in. The ...
and
exploratory testing Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. Cem Kaner, who coined the term in 1984, defines exploratory testing as "a style of software testing that em ...
of
agile software development In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ad ...
where two team members are sitting together to test the
software application Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
. This will help both the members to learn more about the application. This will narrow down the root cause of the problem while continuous testing. Developer can find out which portion of the source code is affected by the bug. This track can help to make the solid test cases and narrowing the problem for the next time.


Benefits and drawbacks

* The developer can learn more about the
software application Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
by exploring with the tester. The tester can learn more about the implementation of the software application by exploring with the developer. * The root cause of a bug can be analyzed more easily, and the tester can more easily test a bug fix when working with the developer. * The developer may learn better test design skills. * Pair testing may be less applicable to scripted testing where all the steps for running the test cases are already written.


Usage

This is more applicable where the requirements and specifications are not very clear, the team is very new, and needs to learn the application behavior quickly. This follows the same principles of pair programming; the two team members should be in the same level.


See also

*
Pair programming Pair programming is an software development technique in which two programmers work together at one workstation. One, the ''driver'', writes code while the other, the ''observer'' or ''navigator'', reviews each line of code as it is typed in. The ...
*
Exploratory testing Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. Cem Kaner, who coined the term in 1984, defines exploratory testing as "a style of software testing that em ...
*
Agile software development In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ad ...
*
Software testing Software testing is the act of examining the artifacts and the behavior of the software under test by validation and verification. Software testing can also provide an objective, independent view of the software to allow the business to apprecia ...
*
All-pairs testing In computer science, all-pairs testing or pairwise testing is a combinatorial method of software testing that, for ''each pair'' of input parameters to a system (typically, a software algorithm), tests all possible discrete combinations of those par ...
*
International Software Testing Qualifications Board The International Software Testing Qualifications Board (ISTQB) is a software testing certification board that operates internationally. Founded in Edinburgh in November 2002, the ISTQB is a non-profit association legally registered in Belgium. I ...


References

{{Software testing Software testing