Unrealistic deadlines and manual test processes cited as factors that lead to poor software quality, says a new report from software vendor Diffblue.
Application developers face myriad challenges in creating software. Their programs are expected to be clean and tight, relatively free of bugs, and out the door in time to hit exacting deadlines.
But those different expectations often bump into each other, resulting in software that's rushed out before it's ready, turning users into beta testers for buggy programs. Released on Wednesday, a report from Diffblue shines a light on some of the obstacles that confront application developers.
Asked which factors contribute to poor software quality, 40% of the 300 developers surveyed in the US and UK cited unrealistic schedules and 40% laid the blame on manual testing processes.
Organizations often set test code coverage targets for developers, which requires them to create unit tests to ensure the quality of their software. The average code coverage target is 63%, according to the survey. But 48% of the respondents admitted that they sometimes find it hard achieving even that level of coverage.
Most of the developers surveyed agreed that unit tests improve software quality and speed up code maintenance. But to meet their coverage goals, they must spend 35% of their time writing tests and 20% of it just writing unit tests, time that could be better spent on other coding tasks.
Beyond meeting their test code coverage targets, developers also said they feel pressure to deliver new production code, which eats up 29% of their time.
To hit all these expectations, 42% of the developers acknowledged that they have skipped writing unit tests to focus their time and efforts on developing new features. Further, two-thirds of the developers said that unit test setup is mundane, while more than one-third said they wish they didn't have to write unit tests at all.
A full 82% of the respondents said they'd rather spent time on more creative endeavors such as developing new product features. Asked which tasks they'd like to see automated, 73% cited bug tracking and 70% pointed to writing unit tests.
"Asking development teams to deliver world-class software without providing the right support is asking for them to fail and become disengaged," Diffblue CEO Mathew Lodge said in a press release.
"Creating quality code shouldn't depend on developers writing hundreds or thousands of unintuitive, uninteresting tests. When robotic tasks can be assigned to machines, they should be—not only to retain a more satisfied and effective workforce in a time when top talent can be hard to find, but also to improve the quality of the code they create," Lodge said.
Sponsored by Diffblue and conducted by Vanson Bourne, the online survey elicited responses from 300 people (200 in the US and 100 in the UK). All respondents work in software development, application development, and DevOps in sub-executive-level roles at a range of companies with at least 500 employees.
- How to become a software engineer: A cheat sheet (TechRepublic)
- 10 free alternatives to Microsoft Word and Excel (TechRepublic download)
- Choosing your Windows 7 exit strategy: Four options (TechRepublic Premium)
- Microsoft Office 365 for business: Everything you need to know (ZDNet)
- It takes work to keep your data private online. These apps can help (CNET)
- The 10 most important iPhone apps of all time (Download.com)
- Must-read coverage: Programming languages and developer career resources (TechRepublic on Flipboard)