Common Software Testing Techniques to Use

TestingCommon Software Testing Techniques to Use

As the process of software testing taking place, there are different methods tester can use and apply on the SUT. Based on each product’s different aims, nature and resources, different testing techniques are suitable in different situations and projects. As the ultimate goal of testing, using different techniques ensures the software works properly regarding with its requirements

In this article we will check out together some of the testing techniques including:

Boundary Value Analysis (BVA)

BVA or Boundary Value Analaysis, as the names suggests, evaluates a feature by boundary values such as maximum, minimum, inside and outside values. Usually Testers also try more error prone values along with typical values.

Testing shows more of the errors happen in boundary values. In BVA it is believed if system works properly with boundary values, it’ll work properly with values in between.

Boundary Value Analysis is a Black Box Testing, and complements another testing technique called “Equivalence Partitioning”.

Here’s a few tips when applying BVA on your software under test:

  • Test cases should include values in the accepted range, below and above the accepted range. for example if accepted range is 1-9, test cases should cover 0,1,5,9,10
  • In large range of values, it is recommended to test minimum and maximum values too.
  • Previous rules should get applied both on inputs and outputs

Decision Table Testing

Cause effect graphing or Decision Table Testing, is working based on causes (inputs) and effects (outputs). Causes or inputs are different conditions based on the software requirements which is applied and the system results are gathered. Then the gathered info goes into a table and it represent system or software behaviour in different situations.

So in summary

  1. Input conditions and actions are listed and cause-effect graph is developed
  2. Graph getting converted to a table
  3. Decision table converted to test cases

Equivalence Partitioning

In Equivalence Partitioning Technique, the input data is getting apart to equal partitions, so it ensures each partition has been tested at least once. Usually input values are partitioned to valid and invalid sections.

Usually Boundary Value Analysis and Equivalence Partitions done together. It can applied in any stage of the testing.

State Transition Testing

State transition testing can be used when your application under test can be treated as a finite state machine (FSM). State transition testing is seen as with different inputs AUT will get into different states. Both negative and positive test cases applied in this technique.

Here’s a few points in State Transition Testing:

  • System’s different states are defined
  • Events which cause the state change is defined
  • Transition of one state to another is covered
  • Different sequence of events are covered

Exploratory Testing

Exploratory testing technique is one of the techniques which requires little preparation to work with. Experienced testers apply this technique using their experience and knowledge in error prone areas of the software. It is basically exploring the application under test and test cases can be created while the testing is getting done.

This technique is useful when software specifications are incomplete or missing or there is lack of time resources. Tester’s smart thinking and experience plays a vital role in exploratory testing and it helps in finding major bugs in early stage of testing better than other testing techniques. It is because in this case the tester use his / her intuition and has freedom to work with the application under test (AUT).

Unexpected errors can be detected better in exploratory testing as there is minimum level of limits for tester and there is no priority in different features for getting tested by functionality.

Error Guessing

Error Guessing testing technique is heavily depend on the experience of the tester as it is in Exploratory testing. Basically in this technique the tester guesses which part of the code can have bugs and which parts are more error prone. Then he / she focuses on those areas and finding errors. Usually experienced and skilled testers perform better error guessing technique.

Tester based on the error-prone situations and based on past experience write test cases to detect more possible bugs

here’s a few tips on error guessing testing technique:

  • It is recommended to use the testing plan used by similar application previously
  • Tester should fully understand the system under test (SUT)
  • Familiar with typical errors in implementation
  • experienced with error-prone components
  • Evaluating previously found bugs and test results

User Story Testing (Agile)

User stories are pieces of information about the product explaining how different features of the product as well as overall flow of the product works. It is created by Product Owner, Customer or End-users. It’s a short and simple explanation of how the app works.

Larger user stories usually are getting split into smaller ones for better access and explanation. It is usually discussed within the team to find systematic and logical errors at early stages of the software development.

There is acceptance test which is the final step as the software is accepted by the customer. Acceptance test is performed after exit criteria are satisfied.

An exit criteria can be 80% of functional test cases passes or all major bugs resolved.

Check List Based Testing

In this technique tester uses a previously prepared checklist to test on the developed software. This checklist is created by experienced testers and is getting updated regularly while finding new bugs.

After each round of performing check list testing, and when the found bugs resolved, all the checklist items getting retested again to ensure new code has not affected previously tested components and features.

Some of the check list items can be as following for a usability testing session:

  • End-user easy navigation
  • Dropdown fields’ data should not get truncated
  • Tooltip should be visible in all the fields
  • Images should be aligned and in required format
  • Disabled fields should be in the same color as designed

Software Testing Techniques Pros

  • Using techniques, improved software quality and reliability. Early stage software testing allows developers to find critical bugs immediately and as a result it will have less costs.
  • Improving UX (User experience) – Performing different types of testing techniques improves overall satisfaction of user
  • Satisfaction of requirements – By testing developers and stakeholders get informed about the performance of the application in regard with the specification and requirements.
  • Easier maintenance – Testing allows developers to get familiar with the app in better shape and therefore maintenance is much easier.
  • Less risk – Early testing lowers the development risk significantly as the major bugs getting detected as soon as possible.

Software Testing Techniques Cons

  • Testing is time consuming, especially when the team performing throughout testing.
  • Testing can occupy a lot of resources from physical computer resources as well as skilled human resources, which sometimes are unaffordable.
  • Testing can only ensure software working in highest achievable quality and still some bugs can be missed.
  • Sometimes bugs are not reproducible and also it is unpredictable how much a developed software can be buggy.
  • If major bugs found, it can affect the deadline and as a result it affects customer satisfaction.
  • Automated testing is expensive and required significant maintenance and updating efforts.

LEAVE A REPLY

Please enter your comment!
Please enter your name here