71 karma · joined August 24, 2023
Being far above good isn't enough either. Being highly productive and effective result in work done faster.. and more work given !
Better to use your skill at your service rather seek/hope for promote.
Once you write it, you can use the sentence for building other tests if you design it for being flexible and variable, i.e. design well enough your code.
Given I'm connected as ___ with password ___.
When I click on the element __.
Then the element ___ is present.
Then the element ___ is present.
[...]
For critical use case, it was enough. For more that's a bad idea: it take way too much maintenance cost.
- 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
You seems to have a certain inclinaison for scientific programming. I suppose it's in this area that you want to have better programming skill. The book that I heard a lot about is the following one (it's on my shelf) :
- The Art of Computer Programming, Volumes 1-4, by Donald E. Knuth
Some books are more generals and provide insightfull tips that I found quite helpfull : - 97 things every programmer should know, by a lots of people
- The pragmatics programmer, by Andy Hunt and Dave Thomas
- Clean code, by Robert C. Martin
If you want improve you skill about a particular programm language, the best is learn every kog and what happend under the hood of you language. Books, Video, any things that will help in that direction, it depends of your choice . Usually it takes time to improve.There is many type of language and big difference inside those type : Scripting languages (python,bash,js...), compiled languages (c,c++,java,c#,...),... If you know different tools you are more likely to be able to use the right tools for the right jobs.
But the real advise is to be doing some real stuff : face real world problem
Take care !