Software developers and testers had to learn new ways of working in 2020. Despite disruptions from the outside world, software teams honed new skills, updated their work processes, and researched tools that could improve the quality of the software.
These articles, sorted by topic, from Development and CI / CD to Testing and then Team Initiatives, are SearchSoftwareQuality’s 10 Most Popular Expert Tips for 2020.
Find advice from your peers on how to strengthen Agile practices or create a test automation strategy. Evaluate low-code as a development platform with insights from two adopting companies, craft a continuous improvement plan with useful metrics, or study another area that can advance your career in 2021.
1. Write meaningful and comprehensive requirements
Flashier software engineering topics exist today, but requirements remain a fundamental part of how developers and testers operate. Take an in-depth look at business, user, and software requirements, including functional and non-functional aspects of the software. Stephen J. Bigelow, chief technology editor, charts each type of requirement with examples.
Agile software development places customer collaboration above formal contracts, but where does this paradigm leave the requirements? Find out in this summary of Bigelow’s Agile requirements collection techniques. Learn about the role of stakeholders, how to work with user stories, size and prioritize prototyping requirements and practice.
2. Explore low-code for developers
The rise of remote working and customers’ need for online rather than in-person services have made digital transformation a hot trend for all types of businesses in 2020. However, a continuing shortage of developers has held back digital transformations. One way to deal with a programmer shortage is to introduce low-code platforms. Find out how a biopharmaceutical company and a trucking line got results with low-code tools.
3. Adopt the best Agile development techniques
TDD, BDD and SDD are not just tongue twisters. These are new approaches to writing better code, faster. Bigelow explains how various techniques work, including:
- test-driven development
- development driven by acceptance testing
- behavioral development
- specification for example
- assistance-oriented development
Familiarize yourself with the benefits of each methodology – whether it’s a shorter development cycle or closer alignment with business or user needs – to choose between them.
4. Evaluate Jenkins for CI / CD
CI / CD pipelines run in development and in DevOps organizations, on-premises and in the cloud. Many teams use Jenkins for the CI server, either as an open source tool or through a version of the technology supported by Cloud Bees. If your organization wants to develop CI / CD pipelines in 2021, browse the top five benefits of Jenkins, outlined by technologist Adam Bertram.
5. Test the performance of the master software
Software users expect a responsive and fast experience with any app or website, regardless of the day or time. Software can meet all of its functional requirements but fail if it does not meet performance metrics.
So, follow these metrics and follow these guidelines on how to write performance requirements. Also check the software against these requirements with load, stress, endurance, peak and addiction tests. To write performance test cases that deliver and choose tools that run those tests effectively in 2021, follow Bigelow’s best practice presentations.
6. Use recording and playback tools for test automation
Recording and playback is a simple but effective way to automate a test sequence that mimics a user’s actions. Discover the good and bad situations for using recording and playback with this explainer from Amy Reichert, head of quality assurance. Familiarize yourself with four technology use cases and some of the popular recording and playback tools available to testers.
7. Perform security tests in a DevSecOps approach
When DevOps emerged to deploy code at breakneck speeds, security engineers feared the approach would sacrifice security. Amid heightened cybersecurity threats during the 2020 pandemic, DevSecOps has grown in popularity. Test automation is one of the keys to combining DevOps speed with security. Prepare for all phases of security testing on DevSecOps builds, from code analysis to simulated attacks, with this walkthrough from Bertram.
8. Understand test automation
Automating tests does not automatically create value. In fact, a poorly executed test automation strategy buries the software team in unimportant maintenance tasks. Development management should not view test automation as an all-or-nothing deviation from manual testing, warns consultant Matt Heusser. Know which testing processes to automate and the ramifications for doing so. Here’s how to intelligently create a test automation strategy on this information.
9. Track software development metrics
Is your development organization reaching its peak performance? How do you know? Many readers have researched development metrics in 2020. We’ve rounded up the most commonly used ones into four categories:
- developer productivity
- software performance
- faults and safety
- user experience
Analyze the multiple metrics outlined for each category to create a personalized measurement and improvement plan for your team. For example, some organizations produce great software but need to reduce lead times and meet their sprint goals. Others may have high speed but suffer from low user satisfaction with the resulting software.
Just about any organization can improve – you just have to figure out where.
10. Documentation software for the benefit of all
Does anyone like to document software? Apparently, 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 you can expect from a good Rowe details documentation tool.