Real people, real devices, on-demand.
The most important part of your testing setup are your testers. They should be
What does this mean in practice?
Unbiased: Testers should not be familiar with the software or website. If they already have ingrained habits and usage patterns, parts of your app may go untested or unnoticed. Potential bugs may only turn up when testers try something unpredictable. Selecting unbiased testers will exclude most of your engineering team: after all, they made the app.
Motivated: Your testers should be thorough, exhaustively test the parts of your software you ask for, and write clear and succinct reports about the reproducible bugs they’ve been able to find. You can have volunteers, free testers, or users to report bugs to you, but motivated, professional testers will be faster, more meticulous, and easier to work with.
Heterogenous: Your testers demographics should map approximately to those of your target customers and users. This includes location, language, device/OS configuration, carrier, and many other characteristics. Your testers should mirror the “real conditions” that customers experience as closely as possible. Running your quality assurance under these conditions means that the common device lab environments are setting development teams up to fail.
If you take these three characteristics to heart, it means that the ideal software tester is not a single tester or even a part of your existing team. The ideal tester is many professional testers with many different characteristics and devices. Crowdtesting with a large pool of committed testers is the way to get to the perfect software tester.