Collaborate on Testing Early

Better tests. Faster delivery. Faster feedback.

Tester - Developer Collaboration

Why Collaborate?

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:

  • Raise Awareness of Feature Value

    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.

  • Encourage testable UI design

    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.

  • Garner faster feedback

    Parallel test development eliminates time between feature completion and test execution, enabling immediate feedback to developers.

  • Deliver Better Value Faster:

    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.

How to Collaborate On Product Quality: The Process

  1. Envisioning

    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.

  1. Early UX Design

    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.

  1. Early Architecture Design

    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.

  1. Feature Development

    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.

  1. Feedback Reiteration

    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.

  1. Rolling Tests into the Build

    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 page
  1. Test Maintenance

    Test 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: Your Collaboration Platform

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.

c1

Standalone App and
Visual Studio plugin

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.

c2

Use C#/VB.Net to Build Tests

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.

c3

Standalone code behind files

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.

c4

External libraries: Selenium
integration

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 example
c5

Test Scaffolding with IntelliMap

Test 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.

c6

Test Studio as Part of CI

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 page
c7

Integration with Source Control

Test Studio seamlessly integrates with MS TFS to allow QAs to check-in their tests next to the production code.

Try it for yourself.