Testing is an essential phase in any product life cycle; whether it's a food, car, or software production line, the outcomes should match what's expected and meet, satisfy the need that we created the product.
Having a solid base of understanding how the software components work and integrate as well as gaining the skills of breaking things is an essential skill-set for any QA engineer. Software testing is the art of investigating the software and finding any unintended behavior that might generate undesired scenarios.
Below you can find the path for QA and software testing learning curve which you might need to start the journey.
One of the most important documents to be generated by the QA team is the test plan, as the team will act blindly without; not knowing the criteria, the starting point, or even when performing different testing types can risk the whole delivery and cause bad code delivery.
Test plan sections and content can vary based on project and delivery nature, therefore, the attached test plan PDF is considered as a generic one that serves all software testing delivery purposes.
The attached PDF can be found here test_plan_sample.pdf for downloading.
-
Don't trust a test code that you didn't see it failing.
-
Understand software testing and do not jump into automation; I classify automation as an efficient way to work a redundant task. Could you make sure to properly design your test criteria and later on, you can automate to achieve the previous?
-
Automation is not more than documenting manually written tests and engineering it in a way the code will be readable, understandable, and reusable.
-
Make sure that your testing code is testing something.
-
Your testing code shall not require testing.
-
200 is not always okay; Do not rely only on server status while testing, getting 200 status for an unauthorized API call is risking your software security.