- TL;DR
- What is QA?
- What is testing? What is the goal of testing?
- Why do we need testing? Goal of testing
- When should we finish testing?
- References
TL;DR
QA is not the same as testing. They are different things. Many people in this field are just "monkey testers" (they just click buttons and that's all).
https://www.youtube.com/shorts/lHvkfdZxxBw, https://www.youtube.com/live/2bW1nnSXM50?t=3890s — tester should be valued more than devs.
Mindset of a tester is to break a software, not only check the correctness of specifications. This mindset helps you to setup your brain (example: engineer in Amazon checked in API but didn’t check in console).
A good tester should be the most valuable member of the team. Who is a good tester? The person who finds the most defects in a short amount of time. To achieve this, the person has to build the entire testing process, automate tests, and so on. Testing is not just about checking if requirements are fulfilled; it's about breaking the software.
Main metric is to find bugs → so we can track errors in production too.
If you love what you are doing and care about quality, becoming an expert in this field makes you irreplaceable.
Testing is not about testing, but also you do management, devops, development, Automation, check quality of product and code. During testing, engineer must behave as a user. You talk with clients. You are a business analyst. You can do design, care about UI/UX.
AI will create, but we need people with testing mindset who will give right things, right tasks, and verify results.
You have to read/watch/hear a lot about occurring bugs to be able to understand the tricky parts of the software.
What is QA?
QA involves a series of activities aimed at preventing risks/defects/problems and ensuring that the software meets the customer's requirements and established standards of quality before it is released to the market. If QA is the "process," Testing is the "action.” QA process = being proactive.
What is testing? What is the goal of testing?
Software testing is about evaluating and verifying the level of quality. Ensuring that product meets customer requirements, and verify that software was developed following all specifications. Goal is to gain the confidence of the customers by providing them a quality product. Testing is about preventing defects.
Finding or looking for a discrepancy between the actual and expected result. Checking whether the actual software product matches expected requirements, and to ensure that software product is Defect free.
Why do we need testing? Goal of testing
Testing is ensuring the quality and reliability of software before they are released to end-users, helping to reduce risks, improve user satisfaction, and enhance the overall software development process.
- Decreases risks, quantify risk
- Risk = a factor which results in negative consequences in future
- Increase confidence that code behaves as expected
- Increase the quality
- Quality = the degree to which a component meets specified requirements and / or customer needs and expectations.
- Prevent defects in early stages
When should we finish testing?
- When the risks we could have in the future is enough to be the product qualified.
- When finish testing? (We are measuring the extent to which our testing covers the things that require the most testing)
Read also:
Entry and exit criteria