Defects tend to cluster in some areas of the software under test. It may happen due to higher complexity, algorithms, or a higher number of integrations in a few constrained segments of the software.
These defect clusters can be tricky, both to find and to deal with. Testers need to be on constant alert for ways to isolate defect clusters and devise ways to overcome them, fight those defects and move on to new clusters.
In my article for Gurock blog, I discussed some ways to fight Defect Clusters in Software Testing:
Locating Defect Clusters
Most defects tend to cluster in certain areas of your software. It is one of the seven testing principles. Many testers intuitively know of these defect-prone areas, but we can still strive to be on the lookout for clusters of defects in a number of ways, like utilizing
Using metrics like defect density charts or module-wise defect counts, we can examine the history of defects that have been found and look for areas, modules, or features with higher defect density. This is where we should begin our search for defect clusters. Spending more time testing these areas may lead us to more defects or more complex use cases to try out.
For example, the chart below shows that Module 4 has the most defects, so it would be smart to continue concentrating on that module in the future.
Use the defect management system and the history of the software to go through older defects, and try to replicate them in the system. You will get to know the system’s history, where it broke and how it works now. You may learn a lot about the software and find many new areas to test.
A tester’s intuition, experience and history with the product is by far the best way to find defect clusters. Lessons learned by experienced teammates should be shared with new coworkers so that the knowledge can be passed on, utilized and improved upon by exercising these defect-prone areas with new perspectives.
Fighting Defect Clusters
Defect clustering follows the Pareto rule that 80% of the defects are caused by 20% of the modules in the software. It’s imperative for a tester to know which 20% of modules have the most defects so that the maximum amount of effort can be spent there. That way, even if you don’t have a lot of time to test, hopefully, you can still find the majority of defects.
Once you know the defect cluster areas, testers can focus on containing the defects in their product in a number of ways. Continue Reading—>
***Update **About face-to-face communication** during Covid-19 ***
As I am reading this book during this bizarre time of social-distancing, working remotely and entire nations on lockdown, the part about ‘face-to-face’ communication has a new meaning now. As Janet Gregory also pointed out in response to this article, our definition of face-to-face has changed over the last few weeks over the entire world! We are lucky to have technology that helps us continue effective communication within our teams, have conversations, video calls, screen shares, continue learning over webinars and continue working, feeling useful and being productive.
Hoping things change soon and we can go back to having fun, productive discussions with our team mates over coffee. Until then — Happy social distancing!
Reduced awareness or unintended ignorance of certain aspects can lead to inattentional blindness, or the failure to notice something that should have been visible because our attention was engaged elsewhere. As a human psychological concept, inattentional blindness also plagues testers and their mindset when testing. In my latest article for Testrail blog, I look at some steps we can take to overcome this challenge and avoid blind spots in our testing work.
It is a natural response of our brain to avoid getting overloaded with information. It automatically focuses on information that is most important while avoiding unnecessary details and noise.
In many situations, this manifests in our focus on the task at hand and its context so much that we neglect surrounding details. This is true for day-to-day activities like bumping into a pillar while looking at our phones, failing to see a swerving car when watching the road ahead… or not noticing a takeaway coffee cup in the middle of a popular television show set in ancient times!
Let’s say you are browsing through a website with the intention of looking at the layouts that must match provided mockups. While you are doing that, you may miss the following:
The homepage of the website has an older logo of the company that should have been replaced by the newer version.
The login box has username and password fields but the login button is missing.
The URL structure of the website is all wonky and the individual page URLs are not named correctly.
Testers often execute tests that have defined steps and expected results, so we frequently overlook anything that is not defined and only check for the results we’re looking for. The tester’s mind is attuned to looking for specified errors, while other information or defects may tend to get missed, even though they may be right in front of our eyes. Pick up any passed test case and try to re-execute it, but this time keep an open eye and an open mind for any new information surrounding the test. More often than not, you will find that many more defects, risk areas or questions can be found in the same area, despite the test having passed.
Learning is an ongoing process, and hopefully a lifelong one. Being a professional in any field requires you to constantly update your knowledge and continue to learn.
Software testing is a very in-demand role, so many people aspire to get into this line of work — but they may not know where to begin.
If you are fresh out of college or looking to switch careers, even if you are not from a computing or engineering background at all, you can jump-start your career in testing. In my article published at TestRail blog, I have given some tips and advice on how to become a self-taught software tester this year.
Books provide a world of knowledge, and despite shifting trends, books can never be outdated, as older ideas can give you a foundation for new information. Reading a book allows you to delve deeper into a topic of your choice at your own pace.
Begin by searching for books on software testing, quality assurance practices, and industry leaders.
Then seek books that can help you start applying the knowledge.
If picking up a physical book is not your cup of tea, read online — there are many great portals with awesome content, articles, and ideas.
Diversify Your Knowledge
Software testing is not a singular skill; it requires a number of skills, both technical and non-technical. When beginning your quest to learn about software testing, delve into various areas of the domain and look for what interests you the most.
>>>Agile testing leaves very little time for documentation. It relies on quick and innovative test case design rather than elaborate test case documents with detailed steps or results. This mirrors the values of Exploratory Testing. When executed right, it needs only lightweight planning with the focus on fluidity without comprehensive documentation or test cases.
From a QA viewpoint, we can learn from the Agile Manifesto key goals; communication, efficiency, collaboration and flexibility. If you improve your QA team in these areas, it will have a positive effect on your QA strategy and company growth.
>>>The Manifesto for Agile Software Development forms the golden rules for all Agile teams today. It gives us four basic values, which assure Agilists a clearer mindset and success in their Agile testing.
Although these values are mostly associated with Agile development, they equally apply to all phases, roles and people within the Agile framework, including Agile testing. As we know, Agile testers’ lives are different, challenging and quite busy. They have a lot to achieve and contribute within the short Agile sprints or iterations, and are frequently faced with dilemmas about what to do and how to prioritise, add value and contribute more to the team.
As testers, we all worked with Excel at some point in our career. If you are using
excel now this article is for you 🙂 Excel is used as test management, documentation
and reporting tool by many test teams. At early stages, most teams rely on excel
spreadsheets for planning and documenting tests, as well as reporting test
results. As teams grow, sharing information using excel sheets becomes problematic.
What used to be easy and intuitive, becomes very challenging. Encountering
difficult work scenarios like the below, becomes a day-to-day reality:
The simple task of figuring out which excel has the test cases you need to run, takes longer and longer.
Gathering the status of the testing tasks and your project can only be done by going to each desk one by one and asking them.
A tester mistakenly spent 6 hours running wrong tests in the wrong environment because of an incorrect excel sheet which was not the updated copy.
Tester’s routinely lose their work or test results because of saving/ overwriting or losing their excel sheets.
Most test activities are not being documented or accounted for because writing tests is considered a luxury.
If one or more of these scenarios sound familiar to you, you are being held back in
your testing efforts by excel!
In my latest guest post for PractiTest, I have written about how excel can be a roadblock instead of a useful tool for your testing. To read the complete article, click here—->
In here I talk about issues related with use of excel in relation to
I will be presenting a 90 minute- hands-on workshop on:
“Selenium with Cucumber for an extended BDD Framework”
Are you interested in looking into the trend of Behavior Driven Development? Would you like to see it in action using Cucumber? Would you like to integrate your functional tests in such a framework using integration of Selenium within Cucumber? Then this is the workshop for you!
This workshop will cover
Practical issues faced by most testing teams
Behavior Driven Development – the definition and need
Extending the Agile User stories and acceptance criteria in BDD scenarios
Cucumber as a BDD tool
Integration of Cucumber with Selenium in order to perform functional tests
Demo using Cucumber with Selenium with a real use case
I am glad to share the latest article I wrote for utest.com forum of testers globally as a part of their #BackToSchool campaign – where writers are sharing their experience with formal education , degrees and certifications on their profession.
I was excited as soon as I read about the #BackToSchool campaign on http://www.utest.com. As someone who has 5 certifications and numerous conferences to my credit, I definitely needed to share my insight and experience here.
For a background – I am certified by ISTQB at – Foundation Level (CTFL), Advanced Level Test Analyst (ISTQB Adv TA) and Certified Test Manager (ISTQB Adv TM).
I am also certified by Agile Test Alliance ATA body at 2 levels—Master Agile Tester (MAT) and Automation Agile Tester (AAT)
Just to clarify– none of these certifications were a mandate for my job or a part of my yearly ‘goals’ as some companies I have now heard do to their entry or mid-level testers.
Why did I take these up?
I took up all these certification exams at different points of my career for different purposes.
When I started out my career, I was working as a tester in a start-up like company where I had minimum guidance or hand-holding into the testing world, its terminologies and processes, during being responsible for a huge project in its nascent stage. After about a year of working I had begun to realize that there were some things missing in my knowledge. Though I had learnt about writing test cases and had gotten pretty good at finding bugs and reporting them, I hardly knew the broader perspective of why we did what we did and what the industry outside was working with. I did not have any software background before that and did not study it in my college course too. So I decided to take up some kind of course of learning about the basics to gain confidence about my own work. I looked up online and found out about ISTQB which seemed to be the most popular course and certification for entry level software testers. I started to study for the same. I bought a book, researched online, and did self-study instead of taking up a training course. The course is designed to open up the complete picture of software testing world in front of you so that being in any industry or domain or level of testing, you can relate to where you are and what is the process around you. Every day I learnt about more types of testing that can be done, what they meant. I appeared for the exam and cleared it. But the purpose it solved for me was more than the certification. It was making me confident about what I was doing, what improvements I could suggest in my processes and even what terms we were using wrongly in our team. It also made me stand out amongst my peers – not because of the certificate only (start-ups hardly care about that right) but because of this drive to improve myself and my team and the knowledge I could now share.
Note – That is why I suggest the best time to do this exam is at the onset of your testing career, probably up to 2 years into it.
This later inspired me to take up the next level (ISTQB TA) which is supposed to be an extended level for functional testers at a senior level. I studied for the course just the same, but the exam experience was a lot different from the foundation level. It was a more scenario based exam wherein I had to apply the learnt lessons into real-world like situations and exercise decision-making. That was fun – and probably that is a reason why the pass-rate is so much lower for advanced levels.
After a couple of years of doing both these, I felt now I had reached a place where they did not suffice my needs. I was in a dynamic team working in Scrum and needed a more hands-on learning. I wanted to interact with people outside my team. I looked up online and stumbled upon ATA and their 3-day program happening in a nearby city. I talked to my company and being the supportive group they were always, they agreed to sponsor me! So, I went and participated in the CP-MAT (Certified Professional-Master Agile Tester) program by ATA. Now, that was fun! I met a small group of people from different companies and had deep discussions on their experiences, the trainers who had fun team exercises planned all along and a very hands-on final exam which required actual agile tester skills.
A month after it, ATA approached me and invited for their next level training and also offered me a train-the-trainer program since they liked my drive and skills. I was interested to give it a try and so decided to go for that. I did not ask for sponsorship again from the company though, just the leaves for those days. So, I went ahead and did the CP-AAT program which was based on behaviour-driven development using Cucumber tool and its integration with Fitness tool. Since my team was not into any of these practices, I never got to use the knowledge I gained in this program. So I thought it was too specific and confined.
So, now you know about why I did each of these and that they just sort of happened over my 8+ years in the industry.
What I gained from them?
As I explained, from my first ISTQB CTFL and TA certificates, I gained insight into correct testing processes and terms, and knowledge about the things that were not happening in my team. This gave me confidence that I was relevant around the industry and to share opinions in the team at an early stage in my career. But yes, it definitely also was a plus that I could put it in my resume and increase my chances of being shortlisted for interviews, because many companies find it as a plus.
From the Agile Testing certifications I gained the insight into agile and how testing should fit in and all the hats a tester must wear for the team to succeed. Since then I progressed into a mentor and leader’s role and also acted as a scrum master and agile pod leader, so it must have helped in some way.
It didn’t hurt that it also brought some credibility and value to my profile. So, when I had to move to another city and find a new job a year later, I wasn’t worried about the switch because of the background I had created for myself. It also pushed up my biography when I wanted to submit proposals to talk at national level conferences and I got the opportunity to speak there.
What I did not gain from them?
Please be sure that though some companies may give preference to certified candidates or they may get shortlisted quicker, but a certificate can never replace actual knowledge. The interview process has to ensure that you have practical experience and knowledge instead of just having cleared a few exams.
Agile teams, start-up teams and communities like u-test do not require any kind of certificates, they need real skills.
If you have worked extensively around the industry and gained that experience, good enough!
If you have self-taught yourself by keeping updated with different skill sets, good enough!
If you have had great mentors who have guided you through the learning, good enough!
If you have studied for different courses and learnt the skills of the industry, good enough!
All study must be done with the aim of learning and gaining some skills and not to get some certificate. The advantages of having the certificate are shallow and short lived as compared to the learnings you get. Do a course only if it has relevance for the level and point in your career and if you have learnt enough without it, so be it. Some certificates even require to keep upgrading or reappearing every few years to ensure that your skills are still relevant.
The real knowledge will come from practical application of the learnings and skills and that is what will distinguish you from the crowd!
—– This post has been later featured by The Pirate Tester in 2019 in his blog at –>