Test case

test casestest-caseTest-case management softwaretests
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 a particular program path or to verify compliance with a specific requirement.wikipedia
107 Related Articles

Software testing

beta testingtestingbeta
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 a particular program path or to verify compliance with a specific requirement.
Reviews, walkthroughs, or inspections are referred to as static testing, whereas executing programmed code with a given set of test cases is referred to as dynamic testing.

Regression testing

regression testsregression testregression
Formally defined test cases allow the same tests to be run repeatedly against successive versions of the software, allowing for effective and consistent regression testing.
Such a test suite contains software tools that allow the testing environment to execute all the regression test cases automatically; some projects even set up automated systems to re-run all regression tests at specified intervals and report any failures (which could imply a regression or an out-of-date test).

Traceability matrix

Matrixrequirement test matrixrequirements trace matrix
Keeping track of the link between the requirement and the test is frequently done using a traceability matrix.
It is often used with high-level requirements (these often consist of marketing requirements) and detailed requirements of the product to the matching parts of high-level design, detailed design, test plan, and test cases.

Scenario testing

Scenario testtest scenariotest scenarios
In scenario testing, hypothetical stories are used to help the tester think through a complex problem or system.
These tests are usually different from test cases in that test cases are single steps whereas scenarios cover a number of steps.

Test suite

Abstract test suiteexecutable test suiteregression suite
In software development, a test suite, less commonly known as a 'validation suite', is a collection of test cases that are intended to be used to test a software program to show that it has some specified set of behaviours.

Classification Tree Method

Classification Tree Editormethodically
* Classification Tree Method

Happy path

User acceptance tests are differentiated by the inclusion of happy path or positive test cases to the almost complete exclusion of negative test cases.
Happy path testing is a well-defined test case using known input, which executes without exception and produces an expected output.

Precondition

pre-preconditionspre-condition
The known input should test a precondition and the expected output should test a postcondition.

Postcondition

postconditionspost-conditions
The known input should test a precondition and the expected output should test a postcondition.

Acceptance testing

acceptance testUser acceptance testingacceptance tests
Acceptance tests, which use a variation of a written test case, are commonly performed by a group of end-users or clients of the system to ensure the developed system meets the requirements specified or the contract.

End user

end-userend-usersend users
Acceptance tests, which use a variation of a written test case, are commonly performed by a group of end-users or clients of the system to ensure the developed system meets the requirements specified or the contract.

Test-driven development

Test Driven Developmenttest-first developmentTDD
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the software is improved so that the tests pass.

T.H. Tse

QuickCheck

property-based testing
QuickCheck is a software library, specifically a combinator library, originally written in the programming language Haskell, designed to assist in software testing by generating test cases for test suites.

Unit testing

unit testunit testsunit
To isolate issues that may arise, each test case should be tested independently.

Metamorphic testing

The test oracle problem is the difficulty of determining the expected outcomes of selected test cases or to determine whether the actual outputs agree with the expected outcomes.

Test management

Test management tools
A test management tool is software used to manage tests (automated or manual) that have been previously specified by a test procedure.

Given-When-Then

Given [initial context], when [event occurs], then [ensure some outcomes] Given, When, Thengiven/when/then
Given-When-Then (GWT) is a semi-structured way to write down test cases.

Dynamic testing

Dynamic Application Security Testingdynamic testdynamically
It involves working with the software, giving input values and checking if the output is as expected by executing specific test cases which can be done manually or with the use of an automated process.

Manual testing

manualmanual teststest execution
To guarantee completeness of testing, the tester often follows a written test plan that leads them through a set of important test cases.

Community legal centre

community legal centres
For example, they lobby for law reform, undertake test case litigation, critique police powers and behaviours, monitor prisons systems and conditions, and develop community education programs.

American fuzzy lop (fuzzer)

american fuzzy lopAFL
american fuzzy lop is a free software fuzzer that employs genetic algorithms in order to efficiently increase code coverage of the test cases.

Litmus (Mozilla)

Litmus
Litmus is a web-based, open source, test case management/QA tool, previously maintained by the Mozilla Corporation/Mozilla Foundation.

Test automation

automated testingautomatedTest tool
Test cases describe tests that need to be run on the program to verify that the program runs as expected.

Graphical user interface testing

GUI software testingGUI testingGUI and regression testing
This is normally done through the use of a variety of test cases.