Suppose we want to develop a small module (time needed: two weeks of one developer). Then what about this new (maybe?) pipeline:

  1. The test engineer starts working:
    • Think about all cases (including many edge cases) that we need to test.
    • Write them down as code using an automated testing framework.
    • At this stage, the testing code all fails, because the business code does not yet exist.
  2. After the test engineer finishes, the developer starts:
    • Develop business code. During development, run the test code above. (Now the dev does not need to use things like Postman to manually test his code over and over again.)
    • The testing code may contain bugs, and the developer should fix it. (Since the testing code is mostly straightforward, it should be not challenging to fix)
    • When all test code passes, the code is almost done.
  3. The test engineer checks that the modification of tests does not throw away things he wants to test.
  4. Done.

P.S. We are talking about E2E tests here, not unit tests. IMHO unit tests should be done by programmers (is it correct?).

P.S. We are small teams, so maybe not able to use the methodology in big companies.

Is this methodology acceptable/wonderful/terrible/awful? Thanks for any ideas and suggestions!

  • 1
    I'm a bit confused. You tagged manual testing as well, but didn't mention it later on. Where does this come in then? Why the testing code should be fixed by a developer when it seems it was a tester who wrote it? Why do you think it's possible to think about ALL test cases in advance? To me, it seems like an exaggeration. #4: done means done like you as a tester will not touch the product again, or another phase of testing starts? What is that small module anyway? How about integration? You then ask if this methodology is acceptable etc...for who? For you/devs/business/customers/your budget?
    – pavelsaman
    Mar 15 '20 at 6:55
  • 1
    @ch271828n this is not new , this is what TDD does , read about test driven development . The only change I would suggest is to let developer and tester write thier on code paralleli. And run the module against the test code once both test n module development completes.
    – PDHide
    Mar 15 '20 at 7:34
  • 1
    Else you are just reshuffling the actual waterfall model without any advantage . Instead of test team waiting , now developer waIts for completed test scripts
    – PDHide
    Mar 15 '20 at 7:38
  • 1
    The accepted answer explains how to do TDD in an API testing
    – PDHide
    Mar 15 '20 at 8:05
  • 1
    Please don't cross post.
    – jonrsharpe
    Mar 15 '20 at 8:24