> Should we replicate the business logic in tests? **NO**. Ideally once the software has done, what is supposed to be tested, *a test should just assert the actual state with the expected pre-determined state of the SUT.* > As far as calculating pre-determined expected state is concerned ,a > test's primary objective is to 'Verify' an expected state , not to > 'Replicate' it. In our team it is directly hard - coded in tests, copied over from Use Stories as captured in BDD( Cucumber) format as an example scenario with data which act as a communication tool between Business Analyst, Developer & tester. But NO behind the scene operations in between the test like DB manipulations/ API calls except test data setups/cleanups before & after the test. No re-calculations of business logic inside tests. A big NO. > If we do that then we need tests for these tests also ,as then they are > no longer tests anymore as they themselves implementing the > functionality same as the application code.