SAP Testing - SDLC



Software Development Life Cycle determines the series of steps to be performed to develop an application or the efficiency of a software. In this chapter, we will discuss the phases defined in SDLC. Each phase has its own process and deliverables that goes into the next phase.

Feasibility Study

The first stage of SDLC is requirement gathering. After the requirements are gathered, the team comes up with a rough plan of software process. At this step, the team analyzes if a software can be made to fulfill all the requirements of the user. It is found out if the project is financially, practically, and technologically feasible for the organization to take up. There are many algorithms available, which help the developers to conclude the feasibility of a software project.

System Analysis

At this step, the developers decide a roadmap of their plan and try to bring up the best software model suitable for the project. System analysis includes understanding of software product limitations, learning system-related problems or changes to be done in the existing systems, identifying and addressing the impact of the project on the organization and personnel etc. The project team analyzes the scope of the project and plans the schedule and resources accordingly.

Software Design

The next step is to bring the whole knowledge of requirements and analysis on to the desk and design the software product. The inputs from the users and the information gathered in the requirement gathering phase are the inputs of this step. The output of this step comes in the form of two designs; logical design and physical design. Engineers produce meta-data and data dictionaries, logical diagrams, data-flow diagrams and in some cases pseudocodes.

Coding

This step is also known as programming phase. The implementation of software design starts in terms of writing the program code in a suitable programming language and developing error-free executable programs efficiently.

Testing

An estimate says that 50% of the whole software development process should be tested. Errors may ruin the software from critical level to its own removal. Software testing is done while coding by the developers and thorough testing is conducted by testing experts at various levels of code such as module testing, program testing, product testing, in-house testing and testing the product at user’s end. Early discovery of errors and their remedy is the key to developing a reliable software.

Integration

Software may need to be integrated with the libraries, databases, and other program(s). This stage of SDLC deals with the integration of the software with outer world entities.

Implementation

Implementation or deployment means installing the software on user machines. At times, the software needs post-installation configurations at the user’s end. Software is tested for portability and adaptability and integration related issues are solved during implementation.

Software Testing Life Cycle

Software Testing Life Cycle (STLC) consists of all the steps that are performed in a specific way to ensure that quality goals are met and each step has specific goals and deliverables.

STLC is used to improve the quality of a software product and to make it capable to meet the business requirements to achieve certain goals.

The different stages that come under Software Testing Life Cycle are as follows −

  • Requirements phase
  • Test Planning
  • Test Analysis
  • Test Design Phase
  • Test Implementation
  • Test Execution Phase
  • Test Closure Phase
STLC

Requirement Phase

This is the first phase of Software Testing Life Cycle. During this phase, the tester’s job is to analyze the requirements. There are various methods for Requirement Analysis like conducting brainstorming sessions with business people, team members, and try to find out whether the requirements are testable or not.

This phase determines the scope of the testing. If a testing team finds any features that can’t be tested, then that should be communicated to the client.

Test Planning

In this phase, the tester identifies the activities and resources which would help to meet the testing objectives.

Various metrics are defined and there are methods available to determine and track those metrics. Test planning also includes identifying key performance indicators for testing evaluation.

Test Analysis

This phase determines the guidelines that has to be tested. It includes identifying the test conditions using the requirements document, any risks involved, and other test criteria.

Various factors are used to find out the test conditions −

  • Product Complexity
  • Depth of Testing
  • Risk Involved
  • Skills Required
  • Knowledge of testing team members
  • Test management
  • Availability of the stakeholders

Test conditions should be written in a detailed way.

Let us take an example. For a website selling products online, a test condition is that a customer should be able to make an online payment. You can add detailed conditions like, payment should be feasible using Credit card, NEFT transfer, debit card or net banking.

The advantage of writing the detailed test condition is that it increases the scope of testing because test-cases are normally written on the basis of the test condition. It allows to write more detailed test cases. It also helps in determining the condition of when to stop the testing of a software product.

Test Design Phase

This phase determines how the tests are performed.

  • Break down the test conditions into multiple sub-conditions to increase its coverage.

  • Get the test data.

  • Set up the test environment.

  • Get the requirement traceability metrics.

  • Create the test coverage metrics.

Test Implementation Phase

This phase includes the creation of detailed test-cases as per the test conditions and metrics defined.

  • Prioritize the test case.
  • Test-case to be used for Regression.
  • Ensure the correctness of the test-cases.
  • Sign off of the test-cases before the actual execution starts.

Test Execution Phase

This phase of Software Testing Life Cycle involves actual execution of test-cases.

  • Execute the test-cases.
  • Log the defects.
  • Check traceability metrics to track progress.

Test Closure

This phase includes checking for the completion of the test.

  • Check if all the test-cases are executed and opened defects.
  • Note down the lessons learnt.
  • Close the Testing phase.
Advertisements