In 2012, CareerBliss.com released a list of the Happiest Jobs in America, based on a survey of more than 100,000 employees. Topping the list was Software Quality Assurance Engineer. It’s a good thing they enjoy their jobs because the software industry would be destitute without them. Their job satisfaction probably has a lot to do with the integral role they play in releasing high-quality products for their company. They are the last stop before the software goes to market.
Agile methodologies require rapid development, which puts QA testing in a compromising position. How do you ensure quality while still delivering your software to market in a short time span?
What do QA Engineers do?
Software QA engineers perform different levels of testing to ensure there are no bugs in the software. There are multiple roles these engineers can hold: requirements gathering, documentation, writing test cases and uses, source code control, code review, change management, configuration management, release management, and testing. Letzgro has a standard algorithm and three-tiered process for QA: the first tier is conducted after the layout is ready; the second tier is conducted after server-side programming; and the third tier is the overall functionality and usability test.
When QA should be integrated into the Agile Software Development process
On traditional projects, QA testing is done at when all the coding is complete; on agile projects, developers, project managers, and QA personnel work simultaneously. In a scrum, QA engineers can get the whole team on board to ensure QA is a concern for everyone, which includes collaborating with developers to create test cases for the potential end-user. QA personnel can also act as a proxy product owner to challenge early stage assumptions and clarify business requirements. After each sprint, QA testing is conducted, which becomes more important after every sprint.
What process should be used?
Obviously, the User-Business Analyst- Architecture-Development-QA model won’t work within an agile context. Test-driven development is more common among development teams, where developers write unit tests while they are writing the code. They say automation is a tester’s best friend. By practicing Continuous Integration, where developers integrate code within a share repository several times a day, problems and bugs are detected quickly, enabling teams to better respond.
Letzgro has a team of project managers leading multiple development teams and managing critical project portfolios. Find out more about project management at Letzgro.