Inside the Briefcase

Webcast: HOW TO SCALE A DATA LITERACY PROGRAM AT YOUR ORGANIZATION

Webcast: HOW TO SCALE A DATA LITERACY PROGRAM AT YOUR ORGANIZATION

Join data & analytics leaders from Starbucks, Cardinal Health,...

How EverQuote Democratized Data Through Self-Service Analytics

How EverQuote Democratized Data Through Self-Service Analytics

During our recent webinar on scaling self-service analytics, AtScale...

How Analytics Governance Empowers Self-Service BI

How Analytics Governance Empowers Self-Service BI

The benefit of implementing analytics policies at the semantic...

How To Create A Powerful SMS Marketing Strategy

How To Create A Powerful SMS Marketing Strategy

Many small businesses are looking for more ways to...

Emerging Frameworks & Technologies that Combat the Rising Threat of Cyber Attacks

Emerging Frameworks & Technologies that Combat the Rising Threat of Cyber Attacks

The creation of the first computer virus in 1971...

What types of bugs are detected during software testing?

November 19, 2021 No Comments

Featured article by Ron Evan

Software testing is a core part of the development process, allowing teams to look for problems and fix them before a product is finalized.

There are actually a number of different bugs which are frequently highlighted by testing, so here is a brief overview of the common categories of software snafus that tests are designed to iron out.

bug 300x209 What types of bugs are detected during software testing?Image Source: Pixabay

Performance imperfections

Developers usually have an intended ideal for how well a piece of software should perform on a given set of hardware. If it does not live up to expectations, then end users could find that their experience is severely compromised.

Everything from the time it takes for the software to respond to a user input, to the proportion of the available hardware resources being used by the program while it is running, can fall under performance-related bugs.

Functional flaws

This is one of the broadest categories of bugs, and one which has to be taken into account as part of expanding test automation coverage in modern development workflows.

In short, if the software does not behave in a way that lines up with the minimum requirements set for the project, then fixes need to be found.

Take the case of a program that is intended to be compatible with both touch-based inputs as well as traditional mouse and keyboard. If this requirement is not fulfilled and touchscreen interactions are not registered in certain context, then this is a flaw of the functionality.

Underwhelming usability

A more nebulous and somewhat subjective aspect of testing, usability is defined by how convenient a piece of software is from an end user’s perspective.

This feeds into the broader user experience (UX) design, and can encompass aesthetic elements like the interface and the way that in-app content is presented, as well as the number of steps that are required for users to complete a desired action.

Compatibility conundrums

This ties in partly with the performance bugs mentioned above, but can be specifically related to the hardware and software that might be called upon to run the software app in question.

Compatibility becomes more of a minefield when targeting multiple devices and ecosystems. Web apps, for example, need to be tested across different browsers to see whether they will run consistently and stably without unacceptable performance issues. Mobile apps not only need to work within the bounds of iOS and Android, but also on the different handsets which run them.

Bugs in this context can range from the minor, such as fonts not displaying in the right size, to major, such as performance slowing to a crawl because of poor optimization for an operating system or chipset.

Sub-par security

Last but not least, software testers must put their creations through their paces from a security perspective and determine whether they are vulnerable to widely used techniques for hacking and exploitation.

This is even more important in the case that an app will be responsible for recording, storing and transmitting private user data. A breach could be costly and embarrassing for the developer, and harmful to the users.

The practice of ethical hacking has grown up around this very concept, and major developers offer bug bounties which are paid out if a third party finds a flaw in their software and reports it to them rather than leveraging it for malicious means.

As mentioned, automation has made the job of software testing easier and more efficient in recent years, as well as more precise and repeatable, although it remains a vital part of the development workflow to this day.

 

DATA and ANALYTICS 

Sorry, the comment form is closed at this time.

ADVERTISEMENT

Gartner