7 Reasons Why Low-Quality Software Actually Costs More Than It Saves

The overall quality of a software product is not visible to the naked eye. The UI itself may look great and it also may work as intended. But as the software grows, it gets more complex. In practice, quality assurance gets left out in favor of a fast delivery. But this approach can introduce more costs than they save. Unfortunately, they surface much later in the product lifecycle.

Continue reading “7 Reasons Why Low-Quality Software Actually Costs More Than It Saves”

What’s the difference between quality assurance and testing of software?

Quality assurance (QA) includes the whole process of making sure that everything is done to make the most of the available resources.

Testing is more narrowly defined as the process of checking whether specified requirements are met. This can be done dynamically by executing or using the product or statically by checking source code listings, documents and other product artifacts.

Difference explained as graphic

Also take a look at the Buzzwords for Quality Assurance!

What is… the Client/Server computing model?

The client/server model is the standard for communication of electronic devices today. The simplicity of it’s request-response way of working is pretty straight forward.

used everywhere (frameworks)

HTTP can be augmented with headers (security, meta information etc.)

Alternative communication models:

What is… Reverse Engineering?

Reverse engineering is the attempt to understand the inner workings of a software product by disassembling it. Most applications are just compressed folders (or archives/packages) that include all the source code, images and configuration files.

To prevent disassembling, obfuscation is used. – Source code (and any other text-based information) can be obfuscated easily by replacing variable names etc. with arbitrary strings and removing whitespace and comments. However, there is no bulletproof way to prevent Reverse Engineering. It can only be made harder. This is why critical business logic is usually placed on the server side and queried by the client.