If you are working as part of a team looking to improve their software testing efforts, then you should start by analyzing how the “Web Giants” organize their business.
It goes without saying that companies like Google, Microsoft and Amazon would not be as successful if they did not pay attention to the quality of their products. By looking at these “Software Giants” you will see that there is no miracle recipe for success, that culture and points of view diverge.
Google: Search for best practices
How is the world’s most used search engine organizing its testing efforts? As research is one of Google’s main activities, the team maintains a large and rigorous testing framework and is committed to providing the highest quality possible. To do this, Google uses a four-step testing process to modify the search engine, which involves:
- Tests performed by dedicated internal testers (Google employees)
- Additional tests on a mass test platform
- “Dogfooding”, which means that Google employees use the product in their daily work
- Beta testing, which involves publishing the product to a small group of Google product end users
Even if it sounds like a solid testing process, James Whittaker , former Google Director, says there is always room for improvement. In any case, Google takes testing very seriously. Note also that the salaries of testers and developers are equal, which is not found everywhere. You can find more details on testing on Google in the Google test blog .
Facebook: developer-led testing
Facebook does not employ a dedicated tester. The social media giant only relies on its developers to test their own work. Previously, this was mainly done by hand, but today, Facebook uses a wide variety of automated test solutions such as PHPUnit, Jest (a JavaScript test tool developed internally on Facebook) or Watir. In addition, like Google, Facebook uses “dogfooding” to ensure that the software is usable.
Facebook recognizes that its testing process has major flaws, but instead of doing everything to improve it, it simply accepts these flaws. In addition, focusing less on testing means that more resources are available for other projects.
Rather than testing its software from start to finish, Facebook uses the “canary test” technique, a technique of ” pushing programming code changes to a small group of end users who are unaware of receiving new code “. That is, a new feature is only tested with a small number of users. Based on the results and comments, Facebook then decides to either increase the deployment, or deactivate it, or improve it, or remove it completely.
Amazon: deployment first
Like Facebook, Amazon does not have a significant QA infrastructure. It has even been suggested (at least in the past) that Amazon does not assess the QA trade. Its ratio is around 1 test engineer out of 7 developers. This assumes that testing is not considered an essential activity at Amazon.
Society itself, however, takes a different view on this. For Amazon, the relationship between testers and developers is an output variable, not an input variable. In other words, as soon as it notices that revenue is decreasing or that customers are moving away due to website anomalies, Amazon steps up its testing efforts.
The feeling at Amazon is that the development and deployment processes are mature (the company deploys its software every 11.6 seconds). There is therefore no need to conduct extensive testing. The main thing is to make the software easy to deploy.
Spotify: opt for its own model
Spotify employs dedicated testers. They are part of multidisciplinary teams, each with a specific mission. At Spotify, employees are organized according to what is now called the “Spotify model”, consisting of the following elements:
- Squads | Spotify creates teams of 5 to 7 engineers and a Product Owner (supported by an Agile Coach) completely autonomous (as if they were creating a startup). Each Squad can use the agile methodology of their choice: scrum, scrumban, kanban, lean…
- Tribes | The “Tribes” represent several “Squads” of 5 to 8 people who work together on the same global theme.
- Chapters | Spotify also uses “Chapters” to bring together people with the same skills in different “Squads” and “Tribes” to promote learning and sharing of experiences. For example, all testers from different teams are grouped in a test chapter.
Testing at Spotify is taken very seriously and is seen as a creative process that cannot be (fully) automated. Unlike most of the companies mentioned in this article, Spotify relies heavily on dedicated testers who explore and evaluate the product, instead of trying to automate as much as possible.
Microsoft: engineers and testers are one
Microsoft’s testers to developers ratio is currently around 2/3, and like Google, Microsoft also pays testers and developers equally, except that they are not called testers. they are software development engineers under test (or SDET).
The high rate of testers compared to developers at Microsoft is explained by the fact that a very large share of the company’s revenue comes from deliverable products installed on client computers, rather than from websites and online services. Since it is much more difficult (or at least much more annoying) to update these products in the event of problems or new features, Microsoft invests a lot of time, effort and money to ensure that the quality of its products is impeccable.
Comments are closed.