Better tests. Faster delivery. Faster feedback.
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.
Early collaboration eliminates the gap between “dev complete” and “ready to test,” saving a lot of time and boosting team morale.
Collaboration helps:
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 flexible, simple tests to cover the feature.
Parallel test development eliminates time between feature completion and test execution, enabling immediate feedback to developers.
Smooth team collaboration ensures work passes through the delivery pipeline in a timely and transparent manner.
Download this whitepaper to learn more on tester-developer collaboration best practices.
During this first collaborative phase, testers should be giving a high-level, rough idea of testing impacts, so business stakeholders and management can make informed decisions regarding feature costs.
During this phase, testers work with UI/UX members to ensure everyone knows how to keep the UI as testable as possible. Start listing locator definitions such as ID, name or other attribute values.
This is a great time to discuss with developers what testing will happen at the unit or integration level, and what tests will happen at the UI level.
Testers should tell developers which backing APIs they’ll need. Now that you’ve defined acceptance criteria and locators, start creating scaffolding for automated tests.
At this stage, development and testing should be nearly concurrent. Run as many tests as possible, as early as possible. Validate basic flow and page structure, and identify any misidentified locators and errors in backing APIs.
Testers should be adding all your automated tests (unit, integration, UI) into your build process. This means configuring the Continuous Integration builds and scheduled jobs to run tests as appropriate.
Visit Continuous Integration pageTest automation is a living process. Testers spend time fixing tests when they break, updating them when the systems change, and refactoring or outright re-architecting them, on occasion. This is where Test Studio is extremely helpful.
Want to learn more about how to collaborate with developers? Download this whitepaper
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.
Anyone can write coded tests or record new tests for the project: testers can use the visual cross-browser test recorder, while developers can choose to stay within their own IDE with the Test Studio Visual Studio plugin.
You can even code your tests within Test Studio using standard programming languages. Leverage Intellisense and Methods suggestions. Easily access code behind files and save time by checking code and compilation errors real-life.
Adding standalone code files further improves tester-developer collaboration. A more technical tester (or developer) can write a part of a test and export it as a helper class which can be easily added to Test Studio Project View and referred to in many code behind files.
Test Studio allows import of 3rd party libraries to the Test Studio projects. Import the Selenium assemblies for example to start writing C# code using the Selenium framework and WebDriver.
See a real-life exampleTest Studio element repository is a central definition for element locators. Define locators, then build test steps for validations, extractions, conditional waits and more. Once the UI is ready, map the empty elements to the UI and the find logic will be automatically added to the element.
Use Test Studio scheduling and remote execution servers to split out long-running suites into smaller pieces that can run concurrently. This helps shorten the feedback cycle tremendously. Get a historical view of the test suite’s quality.
Visit Continuous Integration pageTest Studio seamlessly integrates with MS TFS to allow QAs to check-in their tests next to the production code.