“Quality is never an accident; it is always the result of intelligent effort.” – John Ruskin
Being agile in our processes ensures a high watermark of quality to anyone who finds their way to us.
However, sometimes being agile in software can yield subjective measures of success, which is why we’ve laid out five of our biggest KPIs that ensure we are always releasing the highest value product for our clients.
Does the software do what it was intended to do for the client?
Functional testing occurs when the system is tested against functional requirements or specifications. Generally, a best practice is to test directly from user/client requirements as opposed to system or design documents, and involves:
- Identify the specific functions the software is tasked to execute
- Create data based on the specifications
- Determine the output based on the above mentioned specifications
- Administer a test case – a method in which a set of conditions are written and then determine whether or not the system satisfies the requirements or encounters issues that must be addressed
- Compare actual vs intended outputs
Can important information be extracted by hackers?
There are four main areas we tend to fixate upon when considering security vulnerabilities and the software’s ability to fend off intrusions.
- Network - resources and policies
- Software - operating systems, databases, and other software applications
- Client-facing application - browsers and other tools
- Server-facing application - server codes and other technologies
Unfortunately, we live in a world bursting at the seams with people looking to hack into various systems to obtain personal information, either for purposeful and destructive reasons, or perhaps just as a prank. In light of this, as much as we try to render their methods obsolete, it’s virtually impossible.
However, to that point, ensuring client security is critical when measuring software quality, and is always included as part of our standard software processes.
Is the software easy to install and works efficiently and quickly, even for those using the software at different locations?
Determining how software performs (stability and responsiveness) under various loads and stressors is critical when testing a software’s behaviors and efficiencies.
- Load - evaluates the software’s behavior when encountering a heavy workload
- Stress - evaluates the software’s behavior when the workload goes above and beyond it’s anticipated ceiling
- Endurance - evaluates the software’s behavior and ability to be sustained when a heavy workload is fed to the software, repeatedly
- Spike - evaluates the software’s behavior when a substantial increase in workload is fed into the system at one time or in a small window of time
Do we trust the software will work and can overcome any issues and is it easy to use without needing a heavy hand of instructions?
Usability testing is often performed with the end-user in mind and, essentially, determines whether or not the layout, interface, design, sequence, etc. permits the business functions and objectives to be executed as intuitively and efficiently as possible.
Conformance testing, also known as compliance, standards, or regulation testing, determines compliance of your software against external and internal standards.
Internal standards are often set by the software company and might involve ensuring things such as all webpages are responsive, whereas external standards can be developed by outside sources and require, for example, your healthcare company to ensure each webpage abides by Health Care Insurance Portability and Accountability Act, or HIPAA.
Measuring software quality can be both a high and low level task; however, the importance placed on ensuring a high quality product for our clients is not lost on us.
Check out our blog to learn more about the benefits of a custom approach to software.