Session-based Testing
   HOME

TheInfoList



OR:

Session-based testing is a
software test 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 ...
method that aims to combine
accountability Accountability, in terms of ethics and governance, is equated with answerability, blameworthiness, liability, and the expectation of account-giving. As in an aspect of governance, it has been central to discussions related to problems in the publ ...
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 ...
to provide rapid defect discovery, creative on-the-fly test design, management control and metrics reporting. The method can also be used in conjunction with
scenario testing Scenario testing is a software testing activity that uses scenarios: hypothetical stories to help the tester work through a complex problem or test system. The ideal scenario test is a credible, complex, compelling or motivating story; the outcome ...
. Session-based testing was developed in 2000 by Jonathan and
James Marcus Bach James Marcus Bach is an American software testing, software tester, author, trainer, and consultant. Career In his autobiography, Bach wrote that he worked as a software testing manager for Apple Inc., Apple and Borland after dropping out of high ...
. Session-based testing can be used to introduce measurement and control to an immature test process and can form a foundation for significant improvements in productivity and error detection. Session-based testing can offer benefits when formal
requirement In product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, includ ...
s are not present, incomplete, or changing rapidly.


Elements of session-based testing


Mission

The mission in Session Based Test Management identifies the purpose of the session, helping to focus the session while still allowing for exploration of the system under test. According to Jon Bach, one of the co-founders of the methodology, the mission explains "what we are testing or what problems we are looking for."


Charter

A charter is a goal or agenda for a test session. Charters are created by the test team prior to the start of testing, but they may be added or changed at any time. Often charters are created from a
specification A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service. A specification is often a type of technical standard. There are different types of technical or engineering specificati ...
,
test plan A test plan is a document detailing the objectives, resources, and processes for a specific test for a software or hardware product. The plan typically contains a detailed understanding of the eventual workflow. Test plans A test plan documents th ...
, or by examining results from previous sessions.


Session

An uninterrupted period of time spent testing, ideally lasting one to two hours. Each session is focused on a charter, but testers can also explore new opportunities or issues during this time. The tester creates and executes tests based on ideas, heuristics or whatever frameworks to guide them and records their progress. This might be through the use of written notes, video capture tools or by whatever method as deemed appropriate by the tester.


Session report

The session report records the test session. Usually this includes: *Charter. *Area tested. *Detailed notes on how testing was conducted. *A list of any bugs found. *A list of issues (open questions, product or project concerns) *Any files the tester used or created to support their testing *Percentage of the session spent on the charter vs investigating new opportunities. *Percentage of the session spent on: **Testing - creating and executing tests. **Bug investigation / reporting. **Session setup or other non-testing activities. *Session Start time and duration.


Debrief

A debrief is a short discussion between the manager and tester (or testers) about the session report. Jonathan Bach uses the acronym PROOF to help structure his debriefing. PROOF stands for:- * Past. What happened during the session? * Results. What was achieved during the session? * Obstacles. What got in the way of good testing? * Outlook. What still needs to be done? * Feelings. How does the tester feel about all this?


Parsing results

With a standardized Session Report, software tools can be used to
parse Parsing, syntax analysis, or syntactic analysis is the process of analyzing a string of symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal grammar. The term ''parsing'' comes from Lati ...
and store the results as
aggregate data Aggregate data is high-level data which is acquired by combining individual-level data. For instance, the output of an industry is an aggregate of the firms’ individual outputs within that industry. Aggregate data are applied in statistics, da ...
for reporting and metrics. This allows reporting on the number of sessions per area or a breakdown of time spent on testing, bug investigation, and setup / other activities.


Planning

Testers using session-based testing can adjust their testing daily to fit the needs of the project. Charters can be added or dropped over time as tests are executed and/or requirements change.


See also

*
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 ...
*
Test case In software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise ...
*
Test script A test script in software testing is a set of instructions that will be performed on the system under test to test that the system functions as expected. Types of test scripts There are various means for executing test scripts. These last two ...
*
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 ...
*
Scenario testing Scenario testing is a software testing activity that uses scenarios: hypothetical stories to help the tester work through a complex problem or test system. The ideal scenario test is a credible, complex, compelling or motivating story; the outcome ...


References


External links

* * * *{{cite web , url=http://www.workroom-productions.com/papers/AiSBTv1.2.pdf , title=Adventures in Session-Based Testing , first1=James , last1=Lyndsay , first2=Niel , last2=van Eeden , date=27 May 2003 Software testing