QASymphony / Blog / 7 Software Testing Best Practices You Should Be Talking About
7 Software Testing Best Practices You Should Be Talking About
What happens if your email isn’t working like it’s supposed to or your DVR skips out on your favorite show? Let’s just say, you won’t be happy. In all seriousness though, issues in software used throughout fields like healthcare, public safety and banking can cause monumental — financial and even life or death — problems. So whether it’s something as trivial as a DVR or as critical as first responders’ GPS systems, the quality of the software we use everyday and the value it delivers comes down in large part to the quality of the testing it must pass before it hits the market.
So if you want to become a top-notch tester and help ensure only the highest quality software falls into the hands of users, what do you need to know? Read on for insights from the testing experts at QASymphony.
7 Software Testing Best Practices to Help You Become an All-Star Software Tester
Moving beyond the checkmark to become a truly all-star software tester isn’t necessarily about tools or even skills (although you definitely need strong skills) — it’s all about the intangibles. With that in mind, embracing the following habits can help you build on your skills to get to the next level.
1) Keep an Eye on the Bigger Picture (aka the User Experience)
The number one thing that all top notch testers have in common is their laser focus on the user experience. It’s far too easy for testers to get lost in the weeds of test cases and forget about the actual end user, however this is a fatal mistake.
What sets the very best testers apart from the pack is that they never lose sight of why they’re conducting testing in the first place, and that means putting user interest first. These testers understand that testing best practices aren’t necessarily things to check off a list, but rather steps to take to help deliver a better end product to users.
The very best testers never lose sight of why they’re conducting testing in the first place, and that means putting user interest first.
To become such a tester, you need to always consider software from the user’s perspective and take into account how the software needs to work in order to deliver on the promise of helping users do something better, faster and easier in their daily lives. You also need to recognize that the user experience isn’t just about a person going through different steps, but rather using software to improve something they do day in and day out.
2) Ask Questions
In order to keep an eye on the bigger picture and test with the user experience in mind, you need to ask questions and lots of them. Testers have a reputation for asking questions, and it often comes across as them trying to prove something, but there’s actually an important reason why the best testers ask so many questions. It’s because you need to have a complete understanding of a piece of software — including who its users are, how they will use the software, what problem the software should solve, how it should solve that problem, how it should look and feel, etc. — in order to properly test it.
After all, how can you uncover and diagnose issues with a piece software if you don’t fully understand who it’s supposed to serve or how it’s supposed to function? You can’t. As a result, asking questions to make sure you know everything you need to know and then some about all of these relevant points is essential to software testing. And it’s those testers who have a comprehensive understanding of all of these points that uncover issues that most testers miss simply because they don’t know enough about the users and the software itself to know that they’re issues that need to be addressed.
Asking questions to make sure you know everything you need to know about all of these relevant points is essential to software testing.
3) Practice Good Test Management and Reporting
During testing, how do you answer questions like what does your progress looks like, where do roadblocks exist and what is the overall feel of results? It comes down to test management and reporting. And practicing engaged test management and reporting is another trait that separates the all-star testers from the pack.
Good test management and reporting adds value to the overall testing process by encouraging and mentoring individual testers as needed, identifying challenges that might impede progress and providing a bridge between developers and testers. Additionally, taking reporting seriously and regularly checking in with the data can help improve things like test coverage, velocity and quality assurance by providing actionable insight on risk, progress, results and more.
Silos between developers and testers (not to mention product owners) don’t help anyone. These silos create disconnects when it comes to understanding the intended purpose, functionality and audience for software, limit productivity as one team waits for the output of another and inhibits each group’s ability to properly diagnose and resolve issues.
By working closely with developers and any other stakeholders, testers can take a big step toward eliminating these challenges. For example, testers who work side by side with developers who are writing new code can help identify surface level problems before they even come to fruition and write better test cases that can ultimately diagnose deeper level issues that otherwise would be unlikely to come out until the software got in the hands of users. Additionally, by paving the way for higher quality initial builds, this collaboration also boosts productivity and helps teams meet the demands of faster release cycles.
5) Adopt a Technical Mindset
Breaking down silos leads to several benefits, but it also puts new demands on testers as they move from finding surface-level problems to uncovering deeper, more technical issues. That’s why the very best testers follow up collaborating with developers by adopting a more technical mindset.
The very best testers follow up collaborating with developers by adopting a more technical mindset.
6) Build Credibility with Business Stakeholders
What happens after you triage issues uncovered during testing? You need to present your case to business stakeholders, which often involves lengthy meetings during which you need to argue for why fixing one bug should take precedent over another. But couldn’t your time as a tester be better spent? Of course it could. And it can be if you build a high level of credibility with business stakeholders.
While it takes time, if you can gain your stakeholders’ trust and get them to view you as an expert, they will begin to respect your judgment more and question your recommendations less. In turn, this credibility allows you to be more productive and add more value to the business overall. Additionally, it paves the way for the business to not just accept your judgments, but to come to you with questions and seek out your opinion, which is the hallmark of a truly all-star tester.
Lastly, as the field of software testing changes and evolves, only those who stay on top of what’s happening can sustain the status of an all-star tester. As a result, this regular effort to expand your knowledge is important whether you’re just starting out in software testing, working to become an all-star tester or maintaining your position of excellence.
Furthermore, regular efforts to keep learning by engaging with experts online, taking courses, attending conferences etc. can also help you make connections that are important for career advancement and build a reputation as a thought leader yourself.
Stay Ahead of the Game: Top Resources for Ongoing Insight
Software development and testing is a field in constant evolution, and that means you need to regularly expand your knowledge to keep on top of changing practices. Additionally, this ongoing education can help you continue to advance your knowledge and become a true leader in the field. To expand your knowledge, we recommend:
Following Industry Blogs, Podcasts and Thought Leaders
Following relevant industry blogs and thought leaders (via social media, RSS feed or simply by checking their pages regularly) is a quick and easy way to keep up with evolving trends and learn new tricks of the trade. As you get started, we recommend taking a look at the following:
Clarke Ching: An expert on Agile and the Theory of Constraints and the author of several unique books on Agile. Visit Site | Follow on Twitter
Jeff Atwood: A StackExchange cofounder whose blog Coding Horror covers software development, security, the people behind it all and more. Visit Site | Follow on Twitter
Scott Hanselman: A software expert who blogs and podcasts on everything from coding and technology to software development and culture. Visit Site | Follow on Twitter
Kevin Rutherford: A seasoned professional who blogs about a variety of topics from Agile and Ruby to hexagonal architecture. Visit Site | Follow on Twitter
Eric D. Brown: A tech consultant and data science expert who has found a niche talking about the intersection of technology, data and marketing. Visit Site | Follow on Twitter
Jared M. Spool: Author of UIE Brainsparks, a site with blog posts, podcasts and more on topics related to UI and UX development. Visit Site | Follow on Twitter
Michael Bolton: Co-Author of Rapid Software Testing and the DevelopSense blog who provides consulting, training and coaching for testers. Visit Site | Follow on Twitter
Keith Klain: Author of the Quality Remarks blog and an experienced software testing coach who focuses on empowering testers. Visit Site | Follow on Twitter
Kevin Dunne: One of QASymphony’s resident software testing experts and a strong advocate for improving the role and visibility of testing. Visit Site | Follow on Twitter
Developing and Sharpening Skills Through Key Courses
Even once you’ve made it as a tester, there are several steps you can take to develop new skills or sharpen existing ones in order to stay at the top of your game and advance your career. Often times the best way to hone these skills is through relevant courses, whether online or in person. We recommend the following:
Learn to Code
Coding is quickly becoming one of the most valuable skills to have in the technology world. For testers, it’s becoming increasingly important as testing and development become more closely intertwined. In general, knowing how to code can open a lot of doors for you career-wise and is simply not a skill you will regret learning.
There are several coding boot camps, academies and online learning communities that can help you becoming a coding master. Some of our favorites include:
Going through the certification process not only boosts your skills and knowledge, but also helps drive career growth. A certification can signal to both potential and current employers and coworkers that you have reached a certain level of experience and have a specific skillset.
Expanding Your Network and Sharing Ideas at Conferences
Attending industry conferences not only gets you out of the office, but it’s also a great way to meet face to face with testers encountering the same challenges you are. Conferences also tend to be jam-packed with expert advice, making them an excellent resource for beefing up your skills, learning new things and networking with thought leaders directly. Here our some ofour favorite software testing conferences:
Atlassian Summit: Summit has gained a cult-like following of developers and testers from around the world. It focuses mainly on Atlassian products and covers topics related to DevOps, software testing, Agile methodologies and collaboration. Atlassian will also host a second Summit, its first in Europe, in 2017. Visit Site
STAREAST: One of the longest-running software testing conferences, STAREAST is a week-long event with learning sessions, networking opportunities and a technology expo. It also has sister events, STARWEST and STARCANADA. Visit Site
Quality Jam: QASymphony’s own two-day event that brings together technology thought leaders, executives and practitioners from all over the world to provide insight on how to work smarter, faster and deliver higher quality software. Visit Site
Better Software West: Held in conjunction with host Techwell’s Agile Dev conference and DevOps conference, the Better Software conference focuses on the entire development lifecycle. It also has a sister conference, Better Software East. Visit Site
Agile: The AgileAlliance’s annual conference dedicated to advancing Agile principles and bringing the Agile community together to develop new skills and ideas. Visit Site
STPCon: A top conference focusing on test leadership, management and strategy. In addition to leadership and management, STPCon also covers topic like Agile testing, performance testing and test automation. Visit Site
QUEST: A large event featuring a tools and services expo, classes, hands-on workshops, discussion groups, tutorials, networking events and more. Visit Site
Agile Testing Days: Rated the best Agile software testing event in Europe and the second best Agile conference worldwide, Agile Testing Days brings together software testing experts, QA professionals and Agile leaders. Visit Site
TestBash Brighton: A two-day event packed with talks and workshops hosted by industry leaders Michael Bolton, Richard Bradshaw, Mark Winteringham and Dan Ashby. Visit Site
Ready for More? QASymphony Has Your Back
If you’re hungry for even more software testing and development knowledge, QASymphony has your back. Whether you need expert advice, are searching for the right tools for the job or just want to hear about the latest trends in the industry, we have you covered.
We’ll help you keep a pulse on all things testing through our:
Blog: Updated multiple times a week, our blog shares quick insights and actionable tips from our team of experts
Quality Jam: Our annual user conference brings together the brightest minds in the industry to talk about the future of software quality, help you brush up on some skills and of course have some fun along the way
YouTube: Our collection of videos on everything from software testing education to product announcements and demos to customer stories
Product Training: Detailed training videos, user guides and support documents for the qTest platform