5 Best Practices for Dev and QA Collaboration

This is the second #BestPractices blog post of a series, by Kevin Parker.


Developers and quality assurance teams must collaborate to succeed in today’s fast-paced software development industry. By working together from the beginning, Dev and QA can incorporate best practices that make test automation easy and efficient, thereby accelerating release cycles and improving quality. This blog post specifies five of those best practices. Together, they foster collaboration and enable comprehensive test automation.

Best Practices

  1. Collaborate with Dev to create a test-specific environment: It is essential to establish a dedicated test environment to facilitate test automation. By working closely with Dev, QA can identify the specific requirements for testing and find workarounds that meet those needs without impacting the production environment. This ensures that test cases run smoothly and are not affected by external factors. For instance, the test environment can include workarounds for multi-factor authorization (MFA), as covered in my recent Best Practices post 4 Best Practices for Test Automation with MFA.
  2. Assign element IDs and consider testability: To enhance the reliability of test automation, Dev should assign unique element IDs to every element in the application. Traditional accessors, such as XPath or CSS selectors, can be dynamic and unreliable. Element IDs provide a stable identifier for automation scripts, making them less prone to failures caused by UI changes. Moreover, during the design phase, Dev should consider what elements need to be tested, ensuring consistency in domain and data types across the application.
  3. Organize and label common elements: To maximize efficiency, it’s essential to identify common elements and organize them systematically. Dev should design the application in a way that allows for easy identification and retrieval of common elements during test automation. By ordering, labeling, and organizing common elements consistently, QA can create reusable test procedures that can be shared across the team. This approach streamlines the development of test cases and minimizes duplication of effort.
  4. Leave clues for the test team: Dev can support the test team by leaving breadcrumbs or clues in the application code. By writing to the log before and after critical steps, the test team can easily verify that the expected events occurred. This practice assists in debugging and troubleshooting, making it easier for QA to identify potential issues and ensure the application functions as intended. Collaboration between Dev and QA in this aspect promotes transparency and accelerates the test automation process.
  5. Involve test team in design conversations: One of the key aspects of “Design for Software Test” is involving the test team in design conversations right from the beginning. By including QA professionals in discussions and decision-making processes, their unique perspective and expertise can contribute valuable insights. The test team can provide feedback on the design, suggest additional requirements, and identify potential challenges for test automation. This collaboration ensures that the application design incorporates testability, making it easier to create comprehensive and effective test cases.


The collaboration between Dev and QA teams is crucial for successful test automation. By following the five best practices listed above, organizations can create a harmonious working environment where both teams work together to ensure fast release cycles and high quality. By incorporating testability into the application design, assigning element IDs, organizing common elements, leaving clues for the test team, and involving QA in design conversations, organizations can streamline the test automation process, which is essential to the delivery of high-quality software. Embracing these practices encourages collaboration between Dev and QA, ultimately resulting in faster time-to-market, improved product quality, and enhanced customer satisfaction.

This is the second #BestPractices blog post of a series, by Kevin Parker.

Recent Blog Posts

Read Other Recent Articles

AI-driven testing changes everything for testing teams. These Best Practices ensure best outcomes.  I’ve recently published a series of posts on Best Practices for different aspects of software QA in the age of AI-driven testing. This post serves as a portal to them. Before listing the posts, it’s worth noting that everything has changed in

AI-driven testing leads to new forms of team composition and compensation. AI is a force-multiplier for test teams, a reality that’s driving new thinking about how test teams are composed and compensated. This is because AI-driven testing enables test teams to finally keep pace with dev teams, albeit with a radically reformed approach to the

AI-enabled software testing changes the game for testing teams and their leaders. Here are four best practices and an important tip for making the most of this unprecedentedly powerful automation technology. Best Practice #1: Segment test cases for human or AI creation. Identify the critical test cases that humans should write. Have test engineers write

Empower Your Team. Unleash More Potential. See What AIQ Can Do For Your Business

footer cta image
footer cta image