SOCIAL NOTWORKING OUTFIT Facebook has revealed that it does not have a QA team to test its software including user interface designs for privacy issues and usability before setting it loose on the great unwashed.
QA teams have become standard on most computer projects the world over in recent decades but not at Facebook.
Steven Grimm, Facebook's test engineering tech lead, said that the outfit depends on automated testing.
For its PHP code, it has a suite of over 1,500 test classes using the PHPUnit framework. They range in complexity from simple unit tests to large-scale integration tests that hit the production backend services.
The PHPUnit tests are run both by developers as part of their workflow and continuously by an automated test runner on dedicated hardware.
Developer tools automatically use code coverage data to run tests that cover the outstanding edits in a developer sandbox, and a report of test results is automatically included in Facebook's code review tool when a patch is submitted for review, he said.
For browser-based testing of its web code, Facebook uses the Watir framework. It has Watir tests covering a range of the site's functionality, particularly focused on privacy. There are tons of "user X posts item Y and it should/shouldn't be visible to user Z" tests at the browser level.
There are some semi-automated tests that use Watir so "humans can avoid the drudgery of filling out form fields and pressing buttons to get through UI flows".
Facebook is also using JSSpec for unit-testing JavaScript code, though that's still in its early stages at this point.
For backend services, the outfit uses a variety of test frameworks depending on the specifics of the services.
This all means that Facebook has no dedicated QA team. All Facebook engineers are responsible for writing automated tests for their code and keeping the tests maintained as the underlying code changes, Grimm said.
He didn't say anything about whether anyone ever reviews Facebook's user interface designs for privacy issues and usability, which somehow doesn't surprise us. µ
who will automate ? Tech lead !!
100% quality can not be achieved only through automation.
That's why there is a some problem in - friends requests invite, reject & again invite & accept. Is this flow working?
They have test engineering tech lead but no "QA team"?
or "I would be surprised if they have one"