Tips for Finding the Best QA Software

Outfitting your QA team with the best software to help them perform their job plays an essential part in the overall efficiency of your SDLC. Trying to manage a complex QA process using merely the Microsoft Office suite or similar applications offers some benefit, but they aren’t really tailored to the task at hand. A dedicated QA application needs to provide the right feature set to compliment how your organization tests software.

In the past, we’ve talked about the importance of a robust toolbox for any QA team. Let’s take a closer look at some tips for finding the right QA application for your company.

Perform your Due Diligence First

Doing a complete needs assessment is a must before even beginning to research the various off-the-shelf QA applications. The size of your organization is important, as larger companies may benefit from more esoteric features like testing automation. Smaller firms where testers wear many different hats might want the ability to easily manage test environments without having to get help from network administration personnel.

Whether or not your software development projects follow the Agile or DevOps methodologies is another consideration. In this scenario, features supporting collaboration are necessary. Easy interfacing with other applications geared towards Agile project management helps make things run smoothly.

Does your shop primarily develop desktop software for Windows or Mac OSX? What about web applications? Are mobile apps or embedded software also part of the equation? These vital questions all factor into your final decision.

All QA applications need to provide requirements and bug tracking, as these are core functions benefitting both testers and project managers. Make sure a robust reporting engine — including rich testing history — is provided. The ability to export reports in a variety of formats, like PDF or Wiki, is a plus.

Get together with your software development management team and discuss these and other important points. Make a list of required features as well as functionality that is nice to have but not essential. Now you are ready to begin researching applications.

Find the Vendor with the QA Application for your Team

Make it a point to collect product information from a variety of QA software vendors. Work with your team to narrow down the choices to anywhere from three to five applications. Have your team rate each QA application on the criteria you feel most appropriate.

Follow up your team member’s individual ratings by researching online reviews from trusted sources within the QA community. Reach out to some of your connections on LinkedIn to see if they have any hands-on experience with the applications in question. In many cases, these sources provide more meaningful insight than those derived from marketing information or even press reviews.

Take advantage of any free trial periods if provided, so your team can actually get hands-on experience with the various candidate applications before a final decision is made. Once you’ve decided, make sure to choose a licensing option offering the most flexibility for both your team and your company’s bottom line.

Hopefully, these tips offered a measure of insight before you go shopping for a great QA application for your staff.

QA Best Practices on an Agile Project

The Agile and DevOps movements continue to affect how software gets written. We noted this growing trend specific to DevOps in last week’s blog post. The highly collaborative nature of both development methodologies is leading to faster deployment cycles; in some cases approaching the speed of Continuous Integration.

A fast and highly iterative development process puts more pressure on the QA role to properly vet software, while working closely with developers, business stakeholders, and network professionals. With high quality software as a goal, here are some Agile QA best practices worth checking out for your team.

Communication and Collaboration are Vital

Not surprisingly, strong collaboration and communication are at the center of any Agile project. At the beginning of the effort, explain the communication channels to everyone on the team. During each iteration, make sure daily meetings are held; anything from 15 to 30 minutes works without keeping the team away from their testing duties for too long.

Consider letting your testers spend time with the programmers when they are coding features and bug fixes. In many cases, having a different pair of eyes looking at an issue helps inspire solutions to difficult problems. Video chat services also facilitate this kind of interactivity if your teams don’t work in the same building.

Leverage an online wiki or some other application for project documentation, bug and issue tracking, as well as other meaningful information related to the project. Keeping everyone on the same page in this fashion is vital for a project’s ultimate success.

Involve QA in the Requirements Gathering Process

When an Agile project is still in the requirements gathering phase, make it a point to include your senior QA team members at this point. This helps their overall understanding of the scope of work and definitely allows them to create more meaningful test cases while translating the project scope to other QA staff. An additional benefit is everyone is able to meet each other early on and begin the collaborative process.

Multiple Virtual Testing Environments are a Must

Work with the network engineers to ensure the QA team has access to multiple virtual environments for testing, including backups. Since the iterative cycles on Agile projects are faster than usual, multiple environments ensure bottlenecks won’t adversely impact your team’s progress. This rule also applies to environments set up to handle load testing and other QA scenarios.

Catching Software Defects Early

One of the major advantages of the Agile Methodology is how its faster iterations allow software bugs, database design problems, and user interface issues to be caught early. We’ve talked before about how the cost of software defects rises exponentially the later they are found in the development cycle.

Don’t assume simply following Agile principles itself will help detect issues quickly. Make sure the QA team gets their hands dirty testing each sprint, no matter how early in the project they occur. This also helps get everyone used to the overall speed of an Agile project.

Stay tuned to upcoming blog posts over the next few weeks, as we look more closely at how the QA role works on Agile projects.

News from the World of QA — February 2016

This time out on the Betica Blog, we are going to take a look at some newsworthy stories and trends from the past few weeks related to the software QA world. Hopefully, they offer a measure of insight into other perspectives on QA’s role in the modern business world at large.

Building Better Tools for Software QA

In the past, we’ve covered the importance of leveraging helpful tools to facilitate the software quality assurance process. This rule applies to all areas of QA — from desktop software to websites to mobile apps. Using excellent tools helps the QA engineer perform their job with more efficiency and speed.

Earlier this week, SmartBear Software, a developer of tools for QA, released a new update for its Ready! API testing suite used for this vital area of software development. This news was reported on at the software development news site, SD Times.

Version 1.6 of SmartBear’s product adds useful capabilities aimed at large scale enterprise QA. New support for Docker containers facilitates load testing, which is important for simulating high-traffic websites and distributed apps. Automated test libraries and security certificates make deploying virtual API sandboxes an easier process.

John Purcell, Vice President of Products at SmartBear commented on the reasoning behind the new features. “Professional development and testing teams need tools that support enterprise-level requirements like big data sets, multiple environments, company-issued security certificates, auditing and running only certain branches of tests based on continuous integration events,” said Purcell.

In short, Ready! API appears to be a testing tool large development shops need to explore for use by their QA teams.

The Growth of DevOps leading to Smaller Software Deployments

DevOps, which is in some sense a development out of the maturing Agile movement, continues to affect how software gets written and tested. One notable trend involves longer development cycles using the traditional Waterfall methodology being replaced by smaller iterations following Agile and/or DevOps principles. This gradual shift in direction was reported on in the UK-based IT website, The Register.

The increased close collaboration between software engineers and QA personnel ushered in by DevOps tends to thrive when working on faster iterative cycles. Many enterprises eye Continuous Deployment or Integration as a goal worth striving for, especially in today’s fast-paced, competitive business environment. There simply isn’t the time for 6 to 12 month development cycles when customers — whether external or internal — require new features working perfectly on a weekly basis.

The Register talked about this trend with an IT manager at a large enterprise. “We did an analysis of hundreds of projects over a multi-year period. The ones that delivered in less than a quarter succeeded about 80 per cent of the time, while the ones that lasted more than a year failed at about the same rate,” the manager commented.

Simply put, faster iterative cycles led to a better chance at a successful deployment. More timely updates are what the customer wants, and improved software quality appears to be an additional bonus. Because of this, expect more companies of all sizes to implement Agile and DevOps-based development methodologies.

Stay tuned to the Betica blog from more insights into software QA.