Software Engineering Tutorial

Discrete Mathematics Tutorial

Digital Electronics Tutorial

Software Testing Terminology (Common Testing Terms)

Here, we will learn about some common software testing terms in software engineering. By Monika Sharma Last updated : April 07, 2023

Common Software Testing Terms

  • Actual result
  • Ad hoc testing
  • Agile development
  • Alpha testing
  • Anomaly
  • Beta testing
  • Big-bang integration
  • Black box testing
  • Bottom-up integration
  • Bug
  • Branch coverage
  • Capture/playback tool
  • Change control board
  • Change request
  • Checklist
  • Code coverage
  • Code review
  • Code standard
  • Condition coverage
  • Component testing
  • Configuration management
  • Configuration testing
  • Decision table
  • Defect
  • Defect report
  • Desk checking
  • Dynamic testing
  • End-to-end testing
  • Error
  • Error description
  • Error guessing
  • Exhaustive testing
  • Path coverage
  • Statement coverage

Statement coverage

The strategy here is to design test suites such that every statement of the software program is executed at least once. It is very important while testing software that every single of the program is executed because unless a statement is executed, we cannot determine whether it is error-free or not.

This type of thing should be taken at most care when there are conditional statements in the program (like if-else). The test cases should be chosen in such a way that every condition is fulfilled at least once in any of the test cases.

Branch coverage

Branch testing is also known as edge testing. In the branch coverage testing strategy, the test cases are designed in such a way that both valid and invalid values are checked for that particular branch or edge. Then, according to the test cases, the result of the branch statements is assumed for true or false.

It is a stronger testing strategy than the statement coverage testing strategy because it ensures statement coverage as well as ensures that each edge condition to assume true and false values in turn.

Condition coverage

The condition testing strategy is a much more stringer strategy than both branch coverage and statement coverage strategies. In this technique of testing, the tester looks forward to reach every possible condition available in the program code. Now, with every condition fulfilled, comes another set of values that the particular block can have as an input. All these cases are covered in the condition coverage strategy of testing. Therefore, it assumes true and false values for every composite conditional expression, leading to a requirement of 2n test cases where n conditions are available in the program code. However, as the number of test cases in this strategy increases exponentially with the increase in the number of conditions available, it is suitable to perform this type of testing only for smaller values of n or can also be performed where the testing process is automated one.

Path coverage

The path coverage strategy is based on the inter-dependency of the modules on each other. The output of one module can affect the processing of the other modules. Also, a single change in the output generated by initial modules may result in a complete change in the subsequent modules. Therefore, this type of testing strategy aims to cover all the linearly independent paths available in the program. However, this type of testing requires even more test cases than the condition coverage strategy when the number of linearly independent paths is high, but still is an effective way of thoroughly checking the software for any bugs.

Comments and Discussions!

Load comments ↻

Copyright © 2024 www.includehelp.com. All rights reserved.