How to fix buggy software

Are customers leaving your app (a.k.a. your churn keeps increasing, or at least doesn’t decrease)? Bugs might be to blame. So how do you make sure your software’s actually bug-free? (We know, it’s kind of obvious). The key is testing – and you need to do it right if you want customers to stay. Here’s how we do it at DeSmart.

Quality assurance starts with the start of the project

It’s a mistake to leave out quality assurance until the very end of the project  (and you’ll read this a bunch of times more in the next couple of minutes.) 

In fact, testing at DeSmart already starts during the client workshops when we collect requirements for the project. This is when difficult questions can be asked and nuances can be clarified. And when we can already test certain hypotheses.

At DeSmart, we have a quality assurance flow going from planning through to development and testing (We rely on a project board in Jira for this.) Any testing task the QA team gets is verified according to the acceptance criteria, but also other requirements, including user feedback. 

The latter is extremely important to decide whether something does or doesn’t make sense from the user experience perspective.

…and it ends with the MVP

In the course of the development process, we either perform multiple tests, or go for end-to-end tests (i.e. testing the entire software from beginning to end) along with integration tests to make sure that the software works well with other software it is intended to integrate with.

We stop when we can no longer find any bugs or when the software is usable from the user perspective. 

Testing third-party software

If we’re testing software we didn’t write, the process might look a little different. What we’ll start with is a list of known bugs we inherited along with the app, along with functional tests of the entire software. By doing that, we get to know the software thoroughly and only then can we create a task list in Jira and plan the work.

So how do you make sure you get top-quality software?

First of all, get a software team that takes testing seriously. Here are some tips from a software development team that definitely does:

  1. Make sure testers are involved in the entire project and have a clear understanding of the project goals. It’s the only way to make testing efficient and meaningful.
  2. Testing should never be treated as the very final phase of software development (yes, that’s the second time you’re reading this, you’re welcome.) If your software company treats it as such, run.
  3. Instead, quality assurance  should be an ongoing, regular element of the software development process.
  4. Be proactive. Fixing bugs is the bare minimum. Preventing or anticipating them is a step ahead you can take to make the entire process more efficient.
  5. Test for the things that might happen to actual users – how your software integrates with others it’s going to be used with, how much load it can take (super important e.g. for e-commerce stores planning promotional activities on busy sales occasions), etc. Apart from what you know, look for unexpected things that might happen. Users are often good at doing the unexpected. 😉
  6. Of course, test with end users. This will provide invaluable insights not just into technical issues they might encounter, but also into the things that hurt the user experience.
  7. Look at testing from the business perspective. What are the deal breakers making your customers leave? What can you do about them?
  8. Make sure DevOps is part of the process. This will ensure a more collaborative testing and development process, and more efficient quality assurance.

Of course, there’s tons of other things that go into testing – they’re a pretty complicated area. But if there’s one takeaway from this short piece, it’s this:

Testing is a learning opportunity

So keep learning from the tests and never neglect their results. Get to the root cause of the problem and find a solution. (Or, get your software development team to do it.)

If quality assurance is your way to solve actual problems and fix bugs that cost you money, you can’t push that process until the very end of the project. It needs to start way earlier. And when you’re working with DeSmart, it does. 

So if there’s a project on your mind you want to develop (and test), shoot us a message.

Contact Us

Let's talk about how we can bring your ideas to life together!