top | item 42155273

(no title)

solannou | 1 year ago

My experience based on web oriented technology with overcomplicated systems choices :

- End to end testing is good for critical path (customer can create an account ? Otherwise he will leave for another company = very bad). It cost a lot to maintain thus, must be very important requirement. Page pattern with selenium is good.

- Hight level Integration testing (real component, no mocking) is great : tons of error come from the integration of the many components/teams (BDD, ETL, external API/lib, [...]). When tested from your API end point, you have a great ROI and good security harness to avoid regression. By the past we used postman but there is better alternative now.

- unit testing : good when you have control of the solution. As software integration team, working on very legacy solutions, core logic doesn't belong to us. Unit test have not been helpful in our case when using mock (too much maintaining cost)

Can be used for other context than web

discuss

order

vednig|1 year ago

Today, we encountered a very critical bug that would be missed with unit testing and integration testing, which changed our whole approach towards how we view testing. It was a simple scrollbar not being able to scroll 90% times only worked 10% if a user did very specific thing. Overall chance of getting noticed in beta test would have been 2% but as a startup this could have been our end, because unless user added more than 5 files one could not test the scenario, which is the avg. for any trial user. But a real user would have noticed this and would have left for another company. When we started we hadn't hoped this would be an issue but here we are.