F.I.R.S.T principles of Software testing
An Effective software testing principle

Hello people š , This is Preethi from Bangalore š Holding an undergraduate Degree in Batchelor of science in CS and Electronics from Nrupatunga University - Bangalore Completed Java-Full stack and Devops - AWS courses from JSpiders Training institute -Bangalore Currently I'm a Junior Software Engineer @Techvito - Bangalore
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 :




