In the software development life cycle, each process is a separate area of expertise, but there may not be testing teams in every project. In this case analysts are in business again. Besides many competencies, analysts need to keep their competencies fresh about software testing.
Business analysts should have a certain knowledge for deciding the testing needs of the product to be tested.
Taking everything into consideration, testing a whole system is a never-ending process. Therefore, it is also important to know when the test should be finished.
This blog post has been prepared to answer business analysts’ questions about testing process in SDLC.
WHAT IS TESTING?
For international authorities like IIBA (International Institute of Business Analysis) and ISTQB (International Software Testing Qualifications Board), testing can have some objectives.
These objectives are:
- Finding defects
- Gaining confidence about the level of quality
- Providing information for decision-making
- Preventing defects
Under the objectives above if we make a brief definition of testing, we can say that testing is an error-finding action for determining how much the product meets the needs of the user.
WHAT IS FUNDAMENTAL TEST PROCESS?
Software Testing Life Cycle (STLC) is based on five main activities, these activities also have some outputs (documents). Actually, test outputs are created by testing team members but projects where test teams are not located, these documents have to create by business analysts.
- Planning and Control
Planning is an ongoing activity of defining the objectives and the specifications of the test activities. In planning step determination of test scope, test risks, test approach, test environment and the exit criteria are major activities. Control step also have some activities like analysis of the results of reviews and testing, providing information of testing, making decisions.
Planning and Control activity output is the ‘Master Test Plan Document’.
- Analysis and Design
Test analysis and test design step includes test basis review, test design, test conditions identification activities. Outputs of analysis and design step are the ‘Test Design Specifications Document’ and ‘Test Case Specifications Document’. Documents cover test cases that based on requirements, test design, architecture, interfaces, and the risks of the test.
- Implementation and Execution
Test case execution and test result comparison activities are done implementation and execution phase. Output document is ‘Test Procedure’.
- Evaluating Exit Criteria and Reporting
Exit criteria measures the sufficiency of the testing activity in order to help the decision to stop testing. Output document is ‘Test Report’.
Closure phase defines completion or cancellation decision of testing activity. When Project is cancelled, all requirements gathered or the target is achieved testing activity should finalize.
WHAT ARE TEST LEVELS & TYPES?
Testing levels consist of four basic stages:
User Acceptance Test (UAT): Evaluation of the system’s compliance with the business requirements. Test scenario is prepared by the customer (user). Done by testers.
System Test: Verification of the entire system based on the system objectives. Done by both testers and developers.
Integration Test: Verification of interaction between system components.
Unit Test: Testing a single program, grid, component or functions. Unit testing is done by developer.
Basic testing types business analysts should know about:
Functional Test: Involves testing the product against the business requirements. There are two major types of functional testing; positive functional testing and negative functional testing.
Positive Functional Testing: Verifying with valid inputs to determine if outputs are correct.
Negative Functional Testing: Verifying with invalid inputs to see the product behavior.
Non-Functional Test: Concerns non-functional specifications such as security, reliability, usability of the product.
Black Box Testing: Known as functional testing and done by business analysts, testers. Not required the programming or implementation knowledge.
White Box Testing: Known as glass-box testing and done by software developers. System, programming and implementation knowledge skills are required for white-box testing.
WHAT ARE TESTING TERMS?
There are lots of testing terms, below are the basic terms that business analysts should know.
Validation: Answers ‘Did we built the right product?’. Ensures the product is designed to deliver all functionality to the customer needs.
Verification: Answers ‘Did we built the product right?’. Ensures that functionality, as defined in requirements, is the intended behavior of the product.
Error – Mistake: An action that produces the product an incorrect result.
Defect – Bug – Fault: A flaw that causes to fail the system.
Failure: An error that faces with the end-user.