Wednesday, 25 June 2014

The Business Analyst and Testing: An Alliance

A Business Analyst is involved in all the SDLC phases of a project. He begins his job from Scoping & Requirements Gathering, then works on Optimizing Solutions and Designing, then ensures a good product is Developed and Implemented.

A very critical part of the entire SDLC life cycle is testing.  Regardless of the size of the project being implemented or the type of industry that project impacts, there is nearly always a testing phase to a project. 

The main focus of testing is:
  1.  Finding faults in the system
  2. Ensuring that the system is acceptable to all users
  3. Testing the system with other systems
  4. Testing from a business perspective
Types of testing performed by Business Analyst:

To understand the different types of testing, let’s take an example of the IRCTC Website. Assume the Business Analyst has built the website with 2 components: Booking Module, Cancellation Module.

Component testing
A business Analys can test requirements in forms of components. Component are software items for which independent requirements are given. Component testing  is analogous to the unit testing methodology but with advanced level of integration in the lexicon of application instead of just testing it directly. In this type each component of software is tested on an individual level by the Business Analyst.
Example: This would be to test each component – Booking and Cancellation individually, if it functions correctly or not.

Integration testing
After component testing, the next step a Business Analyst can look at is integration testing. On performing component wise testing individually, they are integrated. On integration, integration testing is performed to ensure that the functionality is not broken. A business Analyst should ensure that on integration, the modules continue to work as before.
Example: To ensure that both Components when integrated work correctly.

Performance testing
Many users often access the system at the same time. A good Business Analyst ensure that he thoroughly performs Performance Testing. Performance is measured in terms of response time to a particular request, number of requests that can be processed per second etc. We also need to ensure that the system can efficiently handle multiple user requests within a stipulated time.
Example: To test if the website works correctly even when 100 users login and try to access the website together.

Security testing
Security testing aims to provide protection or security to data in the system. It must eventually ensure that the data is kept highly secured and confidential and properly authenticated so as to ensure that the data is available at all times without affecting the content stored in it.
Example:  This tests the user ID and login is secured. No other user can misuse the credentials.

Database testing
The Database consists of data that your application dependent on. Thus the data stored is most often mission critical and an important asset of the organization. Database testing is performed on the database used in the application. A Business Analyst need not get into technicality but needs to make sure that the data is available accurately.
Example: A Business Analyst needs to ensure that if 10 trains are stored in the database, all of those are retrieved on the Booking page.

Functional testing
Regression testing is done on the changes made to the application to ensure that the older functionality works the same way. Test scenarios are prepared for regression testing and then the again the application is checked to ensure that it works properly. A business Analyst helps in generating various test scenarios.
Example: Functional testing is an essential part of the Business Analyst role; he must generate various possible test cases to make sure all possible situations are covered.

Most of us must have experiences that particular software did not work. The impact of faulty software can be huge considering that the organization may face loss of money, loss of time and a damaged reputation. A business analyst is responsible for the final product that is delivered; hence he must perform end to end business testing of a product.

About Author:
Shweta Samudra is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: shweta.samudra@spluspl.com

1 comment: