This article thoroughly explains the concept of software testing. Let’s get started.
People have different definitions of testing. For some, testing is about UI verification; for others, it is about finding defects. I tried to categorize the whereabouts of the testing into the 10 points given in the article below.
Read every sentence carefully till the end. It has deep meaning that will be useful in every stage of the testing life cycle in your project.
Quality should be the prime intention of every tester, whether it is manual or automation. A good tester will always focus on improving the quality of the product and not only on finding defects.
Table of Contents:
- Understanding Software Testing
- #1) Testing is About Quality
- #2) Testing is About Ideas
- #3) Testing is About Thinking Like a Customer
- #4) Testing is About Coverage
- #5) Testing is About Finding Defects
- #6) Testing is About Simplicity
- #7) Testing is About Collaboration
- #8) Testing is about documentation
- #9) Testing is About Time Management
- #10) Testing is About Attitude
- Conclusion
Understanding Software Testing
With my experience, I have tried to summarize testing in the points given below:
#1) Testing is About Quality
Testing is about providing a quality product to the customer.
Quality in terms of usage
Quality in terms of look and feel
Quality in terms of data integrity
Quality in terms of security
#2) Testing is About Ideas
Any application can be tested in several ways. If you try it out, each individual will propose a different approach and idea
Sometimes, planned testing is very much required. Random/ad hoc testing helps to uncover issues. Evaluation of approaches should be done prior to testing. Testers should use a different approach for applications that deal with a huge amount of data compared to the ones that deal with a huge number of users.
#3) Testing is About Thinking Like a Customer
This is one of the common sayings that we get to hear almost every day.
When we test an application, we should always think from a customer’s (who will use the application) point of view. Relate the flows which ideally the customer would perform on the application. Check to see if the labels/text for messages and warnings are user-friendly so that the customer understands the issue, if any.
The application should be designed to allow the user to flow through the process with ease. Negative combinations are equally important when testing from a customer’s point of view. Some end users who are not familiar with the application may be more likely to make mistakes. The system should handle negative scenarios well.
Suggested Read => Out-of-the-box thinking while testing
#4) Testing is About Coverage
More coverage means more improved quality products.
List and execute all the test combinations. Try to uncover all the odd combinations that the customer is likely to do. Prepare a requirement traceability matrix. I am sure not everyone does this, but prepare one formally or informally.
List down all the boundary conditions and negative test cases. Prioritize all test cases. Do at least one cycle of regression of Priority-1/Priority-2 test cases before completing the QA cycle.
#5) Testing is About Finding Defects
Defect is described as a deviation of the actual result from the requirements. This holds very true in case of testing against requirements. When checking for negative scenarios or doing ad-hoc testing, we still find defects.
Defects should be raised as soon as they are found and with all relevant data. People miss out on raising defects, assuming that they are minor or just UI. Every valid defect that gets fixed adds to the quality of the product.
#6) Testing is About Simplicity
There is no point in building an application that is highly complex and of no use. Rather, we should suggest a simple design that even a layman can use.
Suggest for enhancements in the system. You can suggest improving the layout, labeling, button names, and messages. Users will always prefer using a system that is less complex, easy to use, and understandable. In fact, the simpler it is, the better.
#7) Testing is About Collaboration
Testing is an activity which cannot be performed alone.
It always has to be in collaboration with the other teams, like requirements, design, development, processes, etc.
Imagine we raised a defect and could not convince the other team to get that fixed, even though it is valid. Here, we did not do our job completely. We should not easily accept any justification from other teams unless stakeholders have documented and reviewed it.
#8) Testing is about documentation
Documentation plays a major role in the testing phase.
Document the test scenarios and test cases. Prepare a traceability matrix. Compile a checklist of test activities that have been carried out. Prepare a checklist for UI testing. Take all the screenshots and gather the evidence.
These documents will be very useful in the future for reference in case someone has to do a round of testing again. Use Microsoft Excel or a defect management tool to document all defects. Also, document the test data, environment details, etc.
Some will argue here on how much documentation is sufficient. It depends from project to project. Keep the above points in mind on any project other than Agile. For agile projects, you can have different documentation approaches. But avoiding documents is not recommended at all.
Also Read => Good Defect Management Tools
#9) Testing is About Time Management
Defects found later in the test cycle impact the cost and time. The more critical defects we can uncover in the test cycle, the more time we get to test it better.
Testers always have a challenge with time management. We have to prepare the test data upfront and recreate the test data in case of failures. Track defects, test case status, and check for regressions all in parallel. This makes time management a big challenge for us.
=> Here are more tips on time and project management.
#10) Testing is About Attitude
This may not be the last point, but surely attitude is a must for a good tester. You should have the right attitude in the right way to do your job properly.
Conclusion
In the current competitive world, it is important to keep ourselves updated. But getting a grip on the subject basics is also important. All the hard work goes into vain if the base and approach are not correct.
Many people think testing is a monotonous and boring activity. But I, having been into Software testing for over 9 years now, can say that it’s a very challenging and enjoyable work.
Challenges can be to understand requirements, testability of requirements, and feasibility of implementing the requirements in the current framework/architect. Challenges may arise in defining the testing environment, ensuring coverage, and managing dependencies on other external components during the testing phase.
But it’s crucial how you successfully deal with and overcome these challenges. Remember, if you enjoy your work only then you can give your 100% to it 🙂
About the author: This outstanding helpful post is written by STH author Sandhya Rani N. She has 9+ years of extensive experience in the software testing field on various manual and automation testing projects.
Hope you enjoyed reading this article. Do let us know your thoughts in the comments section below. We would love to hear from you.
Nice article and correct attitude is the key factor to succeed in completing any work for best.
Great Article! Thanks.
Very well defined , each and every point. Would like to add one more point
Testing is about providing information to stake holders to take decisions
Dear sir,
Greetings…
I am looking for software validation course. That includes IQ, OQ, PQ and validation.
Also CFR 21 part 11 compliance.
Please call me.
Thanks with regards.
9586396266
TESTING IS NOTHING MORE THAN TO ENHANCE THE QUALITY OF PRODUCT IN ORDER TO FULFILL THE MAXIMUM REQUIREMENTS OF USER WITH MINIMUM EFFORTS.
It’s very useful article. It’s not like 10 points summary. I can say these are each one’s “life cycle of testing”. Every individual and team must learn and implement this.
Thump’s up to the author.
Its really a motivative and helpful article. Thank you for sharing your experience… 🙂
Really each sentence is of pure value. Learning from the experience of the experts.
Keep up the good work. all the best.
Sir I need to be trained as a software tester
Hello – I fully agree with your 10 points. But I think the quality should be built into the software before the test, so the test is instead a matter of verifying the presence of the planned quality
Nice Article! 🙂
@All,
Thank you all for reading this article and sharing your valuable feedback 🙂
its a total waste, tester does not do anything ultimately developer has to think everything
Hi I need suggestion from u people I am a btech graduate 2012 passout i got 3 years career gap bcz i didnt find right job…now i want to start my career in testing please help me to find a job..
above 10 point give the clear picture what is software testing,it not only finding fault,failure nor error ,it tell us how to give a quality product to meet the customer needs
Very good post and also the points described matches with my experience
Completely agree with 10 points…..
and as written 10th is not last point but i also think right attitude always help to build healthy environment in team……thanks Sandhya
Thank you!!!
Such a great article. Thank you very very much for sharing your experience, it will definitely help all the testers.