Saturday, November 19, 2016

SDLC vs STLC | David Tzemach

In this article, I will review the fundamental concepts of Software Development Life Cycle (SDLC) and Software test life Cycle (STLC) throughout the traditional development methodologies. 

תוצאת תמונה עבור ‪quality assurance funny images‬‏


ID
Phase
Software Development Life Cycle (SDLC)
Software Test Life Cycle (STLC)
1
Requirements gathering and analysis
In the first phase, the team members (Usually by the PM/Analyst) collect and document all possible requirements and specifications of the application to be developed based on the client demands and expectations.

Each requirement definition must be detailed as possible to remove any misunderstanding in the later phases.

Once all the customer specifications are gathered and documented, there is a meeting with the client that should provide his approval.

In the first part, the testing team will review and analyze the customer requirements and specifications.

In the second part, the testing team will determine the types of testing that they will use during the testing cycles.


2
Design
In the second phase, the team will review and study the requirements and specifications that were gathered in phase 1 that they need to use during the preparation of the plan and design of the application to be developed.

Examples:
  • Design the Application Architecture.
  • Determine the software and hardware that will be used per model.
  • Determine the development schedule.
  • Determine the process that the team will use during the coding phase.
  • Determine the applications components and integrations.
  • Determine the coding languages and platforms.

In this phase, the test lead/architect will design the High-level testing plan that will be carried out in the Testing phase (Software Test Plan).

Examples:
  • Determine the testing methodology.
  • Determine the testing types to be used by the testing teams.
  • Determine the testing tools.
  • Determine the test environments.
  • Determine the test resources.

3
Coding
In this phase, a development team will use the system design to develop the application (Units, modules and integrations).
The testing team will use the STP from the previous step to create a detailed test plan (STD).

Examples:
  • Test Scenarios
  • Test cases
  • Expected test inputs and outputs.
  • Time estimations per test.
  • Test configuration.
  • Test prioritization.
4
Testing
Once the development phase is done, the testing team has a working system that they can use to execute the tests and validate that all requirements are implemented based on the client expectations.

The testing team will execute the tests (Manual & Automated) as planned, report for defects and retest as needed.
5
Deployment
Once all tests are done, the application is ready to be implemented on real production environments(GA)
The testing team will review the test results and test artifacts, based on this analysis the test team can determine/improve the testing strategy for future projects.

In addition, the testing team will generate the final test report.

6
Maintenance
After the product deployment, the company will provide support and technical assistance to the clients.

Examples:
  • Technical assistance.
  • Bug Fixes.
  • Patches releases.
Test plans are updated based on the analysis results in addition to testing the enhancements and support requests.

1 comment:

  1. It would be very interesting would would that look like if this framework evolves and flow into agile world currently popular everywhere...

    ReplyDelete

My Presentations