"Do more with less" is something we've all been asked to do at some point. Writing the code wasn't enough. You're writing requirements, tracking issues, updating progress, maintaining development and production systems … now need you to do QA, too.
We're all asked to wear many hats. In this article, we'll show you how ossum helps you achieve consistency through automated systems, leaving you to get back to coding.
The old way of developing an application and then throwing it over the wall to the testers often resulted in bottlenecks and countless other problems. Continuous Integration and Continuous Delivery (CI/CD) is a technique derived from web development that has become popular throughout software development. With CI/CD, your code base is kept in a state that allows it to be safely released to production at any time.
But when you share your great vision for adopting CI/CD at the next meeting, someone will raise their hand: “Isn’t that just working faster? How are we going to maintain quality?" CI/CD also means practicing continuous testing. Testing with every build, every integration, and maybe even every commit — thus integrating QA into every step of the development process.
A Better Way to To Set Up Continuous Testing
To properly perform continuous testing, you need the right combination of tools for:
- Planning and tracking of work
- Version control
Each has to be set up properly to provide desired traceability from a build or release back to the original commits, merge request, or even planning work items and issues. This setup and maintenance can be quite onerous and distracting for software engineers, who may have already been told they are analysts, developers, testers, and sysops.
Well-integrated tools can make adopting and maintaining a continuous testing workflow much easier. The most important features will be ease of integration and the ability to leverage build and test status throughout your workflows, from planning to deployment.
Traceability and the Rapid Feedback Cycle
Tests can be anything — unit tests on your CI build, UI tests on your nightly build, integration tests on a build in your deployment pipeline, and so on.
When tests fail, your build fails. Most current CI/CD tooling has a dedicated builds history screen with detailed logs — and it provides full traceability back from build to code to find out what commit has caused tests to fail.
A particularly valuable feature is the ability to show the status of builds (in progress, success, or failure) and the reason for any failures not only on the status dashboard, but also on the work items associated with the code commits being built. For example, in ossum, build status can be displayed directly on Kanban board cards.
By combining planning, tracking and version control into a single application with tight, seamless integration into CI/CD tools such as Jenkins, ossum simplifies the process of monitoring and fixing bugs identified by whatever suite of tests you run in your build, providing rapid, early feedback on defects for QA.
Ossum’s planning board fully supports Agile methodologies through the capture, prioritization and tracking of backlogs, offering all of the Kanban features you would expect. We’re not prescriptive about how you use it. In fact, the cards for tasks are just that — cards. You decide whether they are product backlog items, stories, issues, and so on.
As it is one of the focal points for a team, we really want to highlight a couple of features that should make your life easier:
No matter how large your team or application grows, work items remain manageable through the search and filter tool, which is powerful while remaining lightweight and intuitive to use.
A work item can be assigned to multiple people, making it simple to find out who has been involved in a feature, and therefore who to speak to when issues arise in QA (remember, a work item even shows whether its build is failing).
Consistency and Process
Manual (or only partially automated) build and deployment processes have all sorts of negative side effects for QA:
- Excessive test environment release-process documentation demands
- Heavy reliance on boring, lengthy manual testing
- Inconsistent setup between test environments and production or development
- Lengthy waits for deployment to test environments
- Unpredictable behavior
Automated QA processes should be the standard for your organization, and tools like ossum help you establish repeatable, reliable, rapid, self-documenting deployments, leaving you to get back to coding.
You can see that having this automation integrated into a workflow means you really can do more with less.
Ossum provides flexible and configurable Kanban planning, tracking, workflow management, source control, and integrated DevOps with your favorite CI/CD tools like Jenkins, TeamCity, and Bamboo.
This article was first published on Ossum’s blog.