Did you know that inadequate testing results in about 5 to 10 defects being found in close to 1000 lines of coding?
The number is actually quite high in terms of enterprise level software’s. If the testing is accurate, a virtually defect less software can be released.
Most Risky Software Issues
- Incorrect calculations – can be seen in financial and date calculations. The key factor is when mathematical functions and mathematical operators are involved.
- Incorrect data edits – When the data edits are not applied correctly by the software, it is a cause for concern. Take the case of a calendar with prohibition entries that a data edit is coded to do. The data edit is coded not to accept an entry in terms of days which is greater than 31 per month. If this is the case, allowing an entry of 30 for the month February is wrong as it will be an invalid date.
- Ineffective data edits – This happens when the data edits work perfectly fine but even then they allow incorrect data to be entered into the system. Suppose an alphanumeric address field allows spaces to be entered prior to the numbers and letters, the resulting search will not be the intended one.
- Incorrect coding/implementation of business rules – The gaps/issues between implementation and delivery are in play here. These defects can be root traced to missing or wrong system specifications.
- Confusing or misleading data – When even the right data is displayed but the users don’t know how to interpret it.
- Software that is difficult to use – There are a few software’s which frustrate the user as it may be difficult to navigate through and performing a simple task may prove to be an elaborate process. Issues like this crop up when there is no proper understanding of how a human will interact with the software.
- Obsolete software – Software’s that do not upgrade and are still based on functions found in older versions of databases and OS’ fall under this category. Vendors usually release updates of the older version to be compatible and up to date. There may be one minor area from the base system which may not be upgradable and this may result in a revision of the entire software.
- Inadequate support of business needs or objectives – Software’s that do not upgrade and are still based on functions found in older versions of databases and OS’ fall under this category. Vendors usually release updates of the older version to be compatible and up to date. There may be one minor area from the base system which may not be upgradable and this may result in a revision of the entire software.
- Incorrect matching and merging of data – Situations arise where data from multiple sources are required to be merged or matched. An ideal example of this would be having multiple files sorted into a table or a single file or mapping data to ID numbers from a master file.
- Inadequate security controls – Unauthorized access to the system is required to be controlled and monitored. People should not be able to perform transactions excess of their authorization level and job function.
These are just a few software issues that we have listed. There many more challenges or issues that are faced by testers on an everyday basis.
When it comes to testing you cannot narrow your core focus by focusing on issues that crop up on the fly or by looking at relative risk.
Designing a risk questionnaire per problem area will allow you to be prepared for a broader spectrum of problem areas.
Interviewing users to get an idea of the risk impact is another solid approach to tackle this issue.
Combining the interview technique with studying past defect reports and coming up with a priority report would be the ideal way to tackle the most troublesome areas.