F.I.R.S.T principles of Software testing

An Effective software testing principle

¡

2 min read

F.I.R.S.T principles of Software testing

Software testing is crucial to software development, ensuring that the product meets the desired requirements and functions as expected. Applying these principles will help you develop reliable and maintainable automated tests.

FIRST stands for :

  • Fast

  • Isolated/Independent

  • Repeatable

  • Self validating

  • Thorough

Fast : Unit tests should be fast. A developer should not hesitate to run the tests , even if there are thousands of unit tests.

Isolated : It should follow the 3 A's of testing - Arrange , Act and Assert , which is also called as Given, when, then .

Arrange : The data used in the tests should not depend on the environment you are running the tests .

Act : Invoke the actual method under test.

Assert : a unit test should only assert one logical outcome, implying that typically there should be only a single logical assert. And also multiple physical asserts can be part of this physical assert, as long as they all act on the state of the same object.

Repeatable : tests should not be repeatable and their values shouldn’t change base on being run on different environments.

Each test should set up its own data and should not depend on any external factors to run its test.

Self validating : you shouldn’t need to check manually, whether the test passed or not.

Thorough : should try to cover every use case scenario , test for illegal arguments and variables , try covering all the edge cases .

References :

Â