If you are looking for ways to improve your software testing efforts, or to make your team more serious about it, then look at the methods used by the “big guys”. Companies like Amazon, Microsoft, Google and Microsoft would be unable to achieve the same success without paying attention to the quality products they release to the public.
However, these software giants show that there is no single formula for success.
Google: Looking for best practices?
How does the company behind the most popular search engine in the world organize its testing? For example, the team that manages Google’s search engine maintains a rigorous testing program. Because search is Google’s core business it is important that the team ensures that it delivers the best possible quality and doesn’t fail to deliver.
Google uses a four-stage testing system to test changes to its search engine. It consists of:
- Tests by internal, dedicated testers (Google employees).
- Additional testing on a crowdtesting platform
- Google employees can use the product as part of their day by “dogfooding,” or using it in their daily work.
- Beta testing involves the release of the product to a limited number of Google product users
However, the QA process for Google products is less rigorous than those that are closer to the core business. Sometimes, only the product developer is responsible for testing, and there are no other testers to provide a safety net.
Google takes testing seriously in any case. Google actually pays equal salaries for developers and testers, which is something that you won’t find everywhere.
Also check- QA companies
Facebook: Developer-driven Testing
Facebook doesn’t have any dedicated testers. Instead, the social media giant relies upon its developers to test both their own work and that of others. While manual testing was common in the past, Facebook now uses a variety of automated testing methods.
Facebook, like Google, uses dogfooding in order to ensure its software is user-friendly. It is also known for shamelessly posting pictures of developers with clown noses on internal Facebook groups.
Facebook acknowledges there are flaws in the testing process. But rather than trying to fix them, it accepts them. Focusing less on testing can mean that resources are more available for other, more valuable activities.
Facebook prefers to use incremental rollout strategies and “canary” releases rather than fully testing its software. This allows for the testing of new features, fixes, and updates in production. A new feature may be first made available to a very small number of users.
The company tracks the use of the feature and collects feedback to decide whether to increase or decrease the rollout, improving or removing it completely.
Amazon is the first to deploy
Amazon, like Facebook, does not have a large QA infrastructure.
Spotify: Chapters, tribes, and squads
Spotify has dedicated testers. They work in cross-functional teams with specific missions. Spotify employees are organized using the Spotify model.
- Squads. A squad is Spotify’s version of a Scrum team. It focuses less on practices and more upon principles. Spotify’s dictum is “Rules are a good starting point, but you can break them when necessary.” Depending on the mission, some squads may have several testers while others might not have any testers at all.
- Tribes are groups that consist of several squads who share a common business domain. Every tester who is part of a squad automatically joins the overarching tribe.
- Chapters. Spotify uses chapters to organize people with the same skill set across different tribes and squads. This promotes learning and sharing. A chapter is a grouping of testers from different squads.
Spotify takes testing very seriously. Testing is treated as a creative process and cannot be automated. Spotify, unlike other companies, relies heavily on dedicated testers to evaluate and test the product.
Microsoft: Engineers, testers and programmers are all one
Microsoft currently has a ratio of developers to testers at around 2:13. Microsoft, like Google, pays developers and testers equally. However, they don’t call themselves testers. Instead they are software development engineers in testing (or SDETs).
Microsoft’s high ratio of developers to testers can be explained by the fact that much of its revenue comes from shippable products installed on clients computers rather than online services and websites. Microsoft spends a lot of effort and money to ensure that its products are of the highest quality before shipping.