Software developers and testers had to learn new ways to work in 2020. Despite disruptions from the outside world, software teams honed new skills, updated their work processes and researched tools that could improve software quality.
These articles -- listed by topic from development and CI/CD, to testing and then supporting team initiatives -- are the 10 most popular expert tips from SearchSoftwareQuality in 2020.
Catch up on advice from your peers on how to fortify Agile practices or build a test automation strategy. Evaluate low-code as a developer platform with insights from two enterprise adopters, craft a continuous improvement plan with useful metrics or study another area that can advance your career in 2021.
1. Write meaningful, comprehensive requirements
Flashier software engineering topics exist today, but requirements remain a fundamental part of how developers and testers work. Take an in-depth look at business, user and software requirements, including functional and nonfunctional aspects of the software. Senior technology editor Stephen J. Bigelow paints a picture of each requirements type with examples.
Agile software development puts customer collaboration over formal contracts, but where does that paradigm leave requirements? Find out in this rundown of Agile requirements gathering techniques from Bigelow. Learn about the role of stakeholders, how to work with user stories, sizing and prioritizing requirements and the practice of prototyping.
2. Explore low-code for developers
The uptick in remote work and customers' need for online rather than in-person services made digital transformation a hot trend for all types of businesses in 2020. However, an ongoing developer shortage has held back digital transformations. One way to deal with a shortage of programmers is to introduce low-code platforms. See how a biopharmaceutical company and a trucking line have seen results with low-code tools.
3. Adopt top Agile development techniques
TDD, BDD and SDD aren't just tongue twisters. They're novel approaches to write better code, faster. Bigelow explains how various techniques work, including:
- test-driven development
- acceptance test-driven development
- behavior-driven development
- specification by example
- support-driven development
Become familiar with the benefits of each methodology -- whether that's a shorter development cycle or a tighter alignment with business or user requirements -- to choose between them.
4. Evaluate Jenkins for CI/CD
CI/CD pipelines run in development and in DevOps organizations, on premises and on the cloud. Many teams use Jenkins for the CI server, either as an open source tool or through a Cloud Bees supported version of the technology. If your organization wants to build out CI/CD pipelines in 2021, peruse the five main benefits of Jenkins, described by technologist Adam Bertram.
5. Master software performance testing
Software users expect a responsive, fast experience with an application or website, regardless of the day or time. Software can meet all its functional requirements but still fail if it doesn't hit performance metrics.
So, track these metrics and follow these guidelines on how to write performance requirements. Also, vet software against these requirements with load, stress, endurance, spike and dependency tests. To write performance test cases that deliver and choose tools that run these tests effectively in 2021, follow the best practices Bigelow overviews.
6. Use record-and-playback tools for test automation
Record and playback is a simple yet effective way to automate a test sequence that mimics a user's actions. Learn about the right and wrong situations to use record and playback from this explainer by QA lead Amy Reichert. Become familiar with four use cases for the technology and some of the popular record-and-playback tools available to testers.
Software dev and test tools
Software teams need unbiased information on tools for development, test, CI/CD pipelines and other activities that ensure quality software. IT consultant Tom Nolle and DevOps engineer Matthew Grasberger compare products based on their industry experience and tooling knowledge. Check out these authors' five most popular tool comparisons from 2020.
7. Perform security testing in a DevSecOps approach
When DevOps emerged to deploy code at breakneck speeds, security engineers feared the approach would sacrifice safety. Amid heightened cybersecurity threats during the pandemic in 2020, DevSecOps gained popularity. Test automation is one of the keys to combine DevOps speed with security. Prepare for all phases of security testing on DevSecOps builds, from code analysis to attack simulations, with this walkthrough from Bertram.
8. Understand test automation
Test automation doesn't automatically create value. In fact, a poorly executed test automation strategy buries the software team in unimportant maintenance tasks. Development leadership should not approach test automation as an all-or-nothing departure from manual testing, consultant Matt Heusser cautions. Know which test processes to automate, and the ramifications for doing so. Here's how to smartly build a test automation strategy on these insights.
9. Track software development metrics
Is your development organization reaching its peak performing? How do you know? Many readers sought development metrics in 2020. We gathered the most commonly used across four categories:
- developer productivity
- software performance
- defects and security
- user experience
Scan the multiple metrics described for each category to build a customized measurement and improvement plan for your team. For example, some organizations turn out quality software but need to reduce lead time and meet their sprint goals. Others might have high velocity but suffer poor user satisfaction with the resulting software.
Just about every organization can improve -- it just needs to determine where.
10. Document software for everyone's benefit
Does anyone like documenting software? Apparently so, as readers turned to programmer Walker Rowe's advice on software documentation tools. Learn how to write the most common types of documentation, then dive into popular tools that make the job easier, such as Apiary, GitHub Pages and SwaggerHub. Look for the 10 features one should expect from a good documentation tool Rowe details.