Testers and developers both bring tremendous skills and experience to a team. When the two collaborate effectively, quality of work improves, and waste and rework decreases notably. Collaboration improves the effectiveness of team communication, shortens feedback cycles dramatically and ensures testing activities run in parallel with development.
Let’s begin with a simple question – who is responsible for the product quality? Is it the quality assurance engineer?
The answer is simple: everyone on the team. Everybody is responsible for the quality – PM, designer, developer, QA, Sales, etc. even the customer - from requirements, design, development and testing to sales, marketing and user feedback! When everyone looks after product quality in a collaborative way the chance for success increases tremendously.
So, one request from me - please, forget this one once and for all:
It is important to work on the customer's machine. That's the only machine that matters.
Early collaboration eliminates the gap between “dev complete” and “ready to test,” saving a lot of time and boosting team morale. It helps to:
An early, in-depth understanding of business owners’ requirements helps developers build better software and testers write better acceptance criteria, enabling the team to focus on getting the right tests in place.
A team that knows what major functional tests will be written can create usable locators and helper methods. This enables automation testers to write stable and maintainable tests to cover the feature.
Parallel test development eliminates time between feature completion and test execution, delivering immediate feedback to developers.
Smooth team collaboration helps work pass through the delivery pipeline in a timely and transparent manner, ensuring a sleek continuous delivery process.
Collaboration has two aspects:
Here's a few pieces of advice on the first one:
Since we all know how personal relationships can be improved – going out for a beer, facilitating teambuilding and bonding within the team, etc. – I am going to spend some more time helping you with the second one. In order to make technical aspect of things work, you need the proper tools.
Test Studio supports tester-developer collaboration, enabling both roles to play to their strengths. Testers can focus on writing high-value tests and extending them with features like data driving. Developers come into play in situations where more complex code is needed to solve challenging find logic, or asynchronous situations. Both testers and developers can work together to create helper APIs for system configuration, data setup and so on.
First of all, Test Studio has a standalone application for the QA and a Visual Studio Plugin (Test Studio Dev Edition) for the developer. Any Test Studio project can be shared between those two through TFS or Git.
Any third-party libraries or even standalone code files can be imported into the test project. C# or Visual Basic code can be used in the rich coding IDE of the standalone application or in Visual Studio to enhance your tests.
Another useful functionality is Element Mapping, where you can create your tests even before the application under test is available through empty elements and the offline step builder. Once the application is live the elements should be mapped to the real ones with a few clicks, and the test is ready to run.
When you have the first set of automated tests it is very important to be able to add them to the team’s Continuous Integration/Continuous Delivery process. This is easy with the Jenkins plugin and the command line runner which integrates with any CI/CD system.
All the results can be reviewed directly into the CI/CD tool or with Test Studio’s reporting feature, which can export them into HTML, XML, Word, Excel and Visual Studio results file formats.
In this blog post I just barely scratched the surface of Test Studio’s capabilities when it comes to test automation and tester-developer collaboration. If you want to see for yourself, you can download a free, full-featured 30-day trial.
Iliyan is a Product Manager for Telerik Testing Solutions, including Test Studio and Mobile Testing. Ten years ago he started as a game tester, because he loves video games, and eventually he realized that breaking software is fun. He believes that a good Quality Assurance Engineer should be involved in all phases of the software development process.
Now as a Product Manager Iliyan has a new mission—to unburden the QA engineer from the test automation problems and to make the tester's workday a more pleasant one.
Subscribe to be the first to get our expert-written articles and tutorials for developers!