Deliver safe and quality software

What is the purpose of the software?

The software solves problems and enhances our lives. If we are solving someone's problems with software, we want to provide them with a top-quality product. We will go to great lengths to design and deliver a software product that will provide our customers with value and the best experience.

When I asked the community about the above question, I got back intriguing answers. An example is: "It depends how philosophical you want to get. The software can be created for software's sake, for new scientific heights, or play Minecraft on the phone. The key is to differentiate between useful and beneficial software and other software."

If we disregard the "genre" of particular software, we can agree that generally, we want to deliver a quality product that works as defined.

Quality is meeting the specification.

Is top quality a priority for your company? What are your development practices and processes to achieve quality? How can you show your customer that quality is a given in your product? What is your definition of quality? When would you say your product meets your and customer expectation about quality?

Take the time and think.

One of the pillars of software development is testing. Traditionally, developers and dedicated quality assurance (QA) teams do manual or automatic testing. Embedding testing culture into your development process will give your company confidence, trust, pride, and satisfied customers.

Developers can adopt many good practices like test-driven development (TDD) and behavior-driven development (BDD). Those practices are not easy to adopt, it requires persistence, team culture, company vision, and time. And that means you should do it.

Additionally, developers and QA engineers can enjoy the arsenal of testing tools at their disposal. There are small libraries and tools on the one hand, and on the other, we have comprehensive testing systems that cover almost everything. What to choose? It depends, but definitely, you need to dig deep and try them out and see what works for your team and product.

I am a fan of unit tests, which are sitting right beside the application code and test the basic building blocks of your software. When I talk about back-end testing first thing that comes to mind are HTTP API services. I am a big proponent of the service tests where you test your HTTP endpoints and the whole HTTP pipeline with authentication, routing, database, and similar. That can be tricky because you may need database access, authentication tokens, and other infrastructure. To some degree, we can mock HTTP endpoints, but that does not give us complete insights. We should run QA tests in the test environment with all infrastructure in place.

For that, I designed a tool called Beekn. It is a click-and-run tool you configure through your browser. No installation and no coding are needed. It's intended for the QA engineers that want to cover more software surface area when testing HTTP APIs.

If you want to know more and want to join early beta testing, I invite you to join the Beekn community on Testing Tech news and sign up for the latest news, development diary, and more articles like this. Soon, you'll be able to apply for beta testing, and I can't wait to show you what Beekn is all about!