- QATestLab Blog >
- QA Basics >
- Software Testing & QA: Not-boring Explanation (for Dummies)
Software Testing & QA: Not-boring Explanation (for Dummies)
Everybody knows the way to success is paved by the quality company renders to customers. Quality, in its turn, isn’t possible without proper QA and testing. But how does testing happen? If your picture of QA is composed of total misunderstanding, you will probably need hours to google everything. But time is precious, and so quality is. That’s why today, we are ready to spill the beans and lead you to the world of testing with these simple not-boring explanations.
What is Quality Assurance, Quality Control, Software testing?
So many terms, so much confusion. The first step of our learning journey is to understand the difference between them. To be well-oriented in QA, you have to differentiate the following concepts:
Quality Assurance (QA) – the broadest of all concepts, an umbrella holding all the testing procedures done throughout such stages as software development, release and production. It is a process testing specialist follows to perform testing to make sure that something works as intended. For example, it can be writing test plan, applying test cases, documenting test strategy, and more.
Quality Control (QC) – while QA is an overall process, QC implies more specific procedures that build up this process. It is a small parts of QA performed on the product during development to obtain information whether it meets the quality requirements in each specific period of time. So, for example, when QA engineers are testing online-store executing the test cases and logging bugs to ensure that product meets the specifications and requirements of the customer, they are doing QC.
Software Testing – the part of QC, which includes activities to plan test actions, test design, execution of these tests and analysis of the obtained data. In software testing you run a set of test cases (that were created out of requirement) to verify that the product is made as per requirement. QA deals with all the activities required to get a successful product in the market.
Testers VS Developers: Can Developer do Software Testing?
Both testers and developers are interested in making good product. But, as reality shows, they have different mindsets, that’s why for developer it is complex and sometimes impossible to conduct proper software testing. Here are some of the reasons:
- Different scenarios. The developer uses a positive scenario (how to make the product work), the tester uses a negative one (find moments where the product does not work);
- Different approaches. The developer looks at the product through the eyes of the creator – from a common goal to small details. The tester takes the user’s position – from a simple click – to the action that he performs;
- Experience. One of the stumbling points and key differences between developers and testers is the mindset that they have. Developers can test, but they are not familiar with all types of testing and related techniques. On the other hand, testers do not have specific skills which would allow them to fix any bugs by themselves.
Finally, developers can test, but they are not familiar with all types of testing and related techniques. On the other hand, testers do not have specific skills which would allow them to fix any bugs by themselves.
Manual Testing vs Automation testing
If delving more in technical side, you may notice testing can be of both types: manual and automated. What does it mean? Let’s take a closer look at each of this group.
Manual testing – Done by humans.
Manual testing is carried out directly by a person who clicks on buttons in the application or interacts with software or API with the necessary tools. Manual testing requires fewer expenses due to its flexibility: since everything is done manually, it is easy to stop/change the course of the test run, reuse and update test cases.
Some of the most important types of manual testing:
- Functional Testing – to check the system for compliance with functional requirements / specifications;
- Regression Testing – to ensure that new changes added to code haven’t affected current functionality;
- UX / Usability Testing – to check whether a solution is user-friendly;
- Compatibility Testing – to verify whether a solution works properly in different environments;
- Configuration Testing – to check an application with multiple combinations of software and hardware to find out the optimal configurations;
- Integration Testing – to expose faults in the interaction between integrated units;
- System Testing – to evaluate the end-to-end system specifications.
Automated Testing – Done by robots.
Automated tests, on the other hand, are performed by a machine that runs a test script that was written in advance. Since test automation requires less human resources, this approach saves time and provides a comprehensive qualitative checking. Some of the cases:
- Performance Testing – to evaluate how a system performs in terms of responsiveness and stability under a particular workload;
- Penetration Testing / Security testing – QA engineers conduct deliberate attacks on systems and applications to determine whether it is possible to gain unauthorized access to them.
As a matter of fact, all types of manual testing can be automated implying the opportunity to write test cases.
Bottom line: What is the value of Software Testing?
Quality assurance is more than just the process of finding bugs. It is a work for those who are passionate about quality and strive to make the world better. Our modern realities are filled with various devices and constant interactions with technology. Finding small bugs one after another and examining each function of the program, QA engineer identifies in advance all possible problems that the user may encounter during this interaction. Improvement of technology, after all, significantly affects the quality of our lives, which is perhaps the most substantial.
……………………………
If your products are requiring testing, we are ready to hedge your team and ensure the high quality. We are participating in the life of the product, and do our work with a passion for your success. Let’s make great products together.
Visit our blog to read more about QA & testing. Feel free to contact us for collaboration.
Learn more from QATestLab
Related Posts:
- Accessibility Testing: Creating a World Without Walls
- How to Distinguish Between QC, QA and Testing?
- Latest QA Trends: Key Insights Into Test Automation
About Article Author
view more articleshas more than 2-year experience in blogging and copywriting, copyediting and proofreading of web content.
View More Articles
No Comments Yet!
You can be the one to start a conversation.