JetBrains State of Developer Ecosystem 2023: Testing Insights
Survey Overview
The JetBrains State of Developer Ecosystem 2023 survey provides insights into the preferences and behaviors of over 26,000+ developers globally.
According to the “State of Developer Ecosystem in 2023” report by JetBrains, testing plays an integral role in software development projects for 80% of all respondents, and 58% of respondents involved in testing activities develop automated tests. Among those who develop automated tests, 52% perform UI tests, and 84% perform API tests.
The most widely employed test design techniques among respondents include Use Case Testing (51%), followed by User Story Testing (40%), and Condition Testing (28%). Notably, Equivalence Partitioning, Decision Tables, and Checklists are among the less commonly utilized techniques, with percentages ranging from 13% to 16%.
53% of respondents report that, in their companies, the same people that design tests also execute them.
Which test coverage metrics are used for unit testing?
A predominant 38% of respondents rely on Lines of Code (LoC) as their primary unit testing coverage metric, while 22% emphasize Branch coverage. Paths and Predicates of Conditions are considered by 14% and 11% respectively, with only 11% utilizing Data Flow metrics. 41% admitted to using no specific test coverage metrics for unit testing.
What tools are used to store test cases?
A majority of respondents (42%) rely on traditional office documents for storing test cases, while 27% opt for specialized test case management tools. Surprisingly, 33% admitted to not using any specific tools for test case storage, and a minor 9% employ alternative tools beyond the specified options.
In terms of programming languages used for test automation in projects,
JavaScript/TypeScript, Python, and Java are the top three languages used by survey respondents, with JavaScript/TypeScript leading at 36%.
Which BDD (Behavior-driven development) technologies are used, if any?
85% of respondents don’t use any Behavior-driven development technologies. The report indicates a distribution of testing framework usage, with Cucumber dominating at 9%, followed by Gherkin at 5%. JBehave, Behat, Lettuce, and Gauge each contribute 1%, while other tools collectively make up the remaining 1%.
What is the primary testing target?
The majority of respondents, at 67%, prioritize testing web applications as their primary target. Desktop applications follow at 14%, while mobile applications account for 11%. The remaining 8% fall under “Other” testing targets.
Key Takeaways from Survey
Improvement Opportunities:
Limited BDD Adoption:
- Current State: 85% of respondents do not utilize Behavior-driven development (BDD) technologies, with only 9% using Cucumber.
- Recommendation: Encourage widespread BDD adoption to foster collaboration among developers, testers, and non-technical stakeholders.
Test Case Storage Practices:
- Current State: 33% of respondents do not use specific tools for test case storage.
- Recommendation: Advocate for the adoption of dedicated test case management tools to improve organization, collaboration, and traceability in testing processes.
Limited Test Coverage Metrics:
- Current State: 41% of respondents do not use specific test coverage metrics for unit testing.
- Recommendation: Promote the use of diverse test coverage metrics to enhance informed testing practices and ensure comprehensive unit testing.
Positive Findings:
Testing Integration: Testing is considered crucial in software development projects by 80% of respondents.
Automated Testing Adoption: 58% of those involved in testing activities develop automated tests.