|
|
|
Ask HN: At which level should one implement TDD in a web app?
|
|
2 points
by budhajeewa
1827 days ago
|
|
Is writing browser automation test enough (Eg: Assert that a page has these inputs and a button. Before the button is clicked, there are 0 records in DB table. After clicking the button, there is 1 record.), or do we want to write tests in levels below as well (Eg: After writing browser automation tests, write feature tests, and then write unit tests.)? |
|
In practice though, what you want is sufficient coverage of your business logic. If you are well versed in TDD, your code architecture will be sufficiently decoupled even if you don't do TDD per se, so you should be able to test whatever is important for your application.
However, note that testing each layer independently generally gives you the best bang for the bug: trust that you can update code without worrying about breaking something. Then you only need minimal integration tests to ensure integration points are not broken.
What you describe sound like full system tests which are slowest, and you should have only a few of them in comparison, basically to replace manual QA.
Note that everybody uses slightly different definitions for which tests are which, but I hope you get the point.