SDLC vs STLC: The Main Points of Comparison

The Software Development Life Cycle (SDLC) is a process that the teams use to produce quality software in the application. The purpose of SDLC is to meet customer expectations by a certain time by utilizing a cost-effective approach. SDLC was designed to handle complex businesses that require processing and analyzing data.

1. Plan / Gather Requirements

In addition, the risks and opportunities are discussed during this phase. All the requirements gathered are used to plan a feasible approach. A couple of approaches are:

  • Technical Approach — All the expected services that will meet the stated technical scope of work (SOW)
  • Operational Approach — All the steps taken for the transition from a software’s current condition to an end-result condition

2. Design Software

With all the approved requirements, the comprehensive software architecture defines processes and approaches for each module. Individual processes and modules represent the data flows and the communication. Usually, the DDS designer uses pseudo-code, business rules, screenshots, and diagrams (hierarchy, detailed logic, entity-relationship, business processes) to outline many different functionalities.

3. Develop Software

4. Test Software

If a bug is discovered, then the QAs reproduce the steps, note them, and then assign them to the development team. A developer fixes the bugs and sends them back to QA. Generally, the QA tester who discovered the bug also retests and verifies that it no longer exists. Testing is performed by the QAs until the software operates according to the business requirements and customer’s standards.

5. Deploy Software

6. Maintain Software

  • Fix all the bugs reported by the QAs or the end-users/customers.
  • Enhancing the software by adding new features.
  • Upgrading to the new software versions.

The maintenance mode of the software consists of adding new code or altering existing code. The development team creates new features and deals with all the enhancement requests. QA team continues testing the software and finding bugs. Additionally, the end-users may find defects and the developers fix all the reported issues.

What Is STLC

The STLC phase occurs after the software is developed and before the software is released to the market. Its purpose is to make sure that there are no blocker bugs released via the development team or any critical defects caught by the end-users.

1. Analyze Requirements / User Stories

The first phase of STLC consists of analyzing requirements or user stories. Normally, it kicks off after the requirements are gathered during the SDLC process. The QA team gains adequate understanding so that the gaps in the requirements are identified and they know what all tests are necessary.

After studying all the requirements, testing priorities are selected and marked, and the scope of testing is determined for establishing a proper testing foundation. The requirements can be non-functional and/or functional. The Waterfall methodology analyzes requirements while the Agile methodology analyzes the user Stories.

2. Plan Test

  1. Test Objective
  2. Test Assumption
  3. Test Environment
  4. Test Coverage
  5. Test Risk
  6. Test Features
  7. Test Approach
  8. Test Resources
  9. Test Activities
  10. Test Schedule

Planning the test is meaningful because it clears the vision for analyzing the requirements and transforms the insights into a strategic document. The test plan is responsible to keep the stakeholders on the same page.

3. Design Test Cases

Before designing a test case, the QA can achieve deep coverage by implementing various test techniques. Some known techniques are Boundary Value Analysis (BVA), Equivalence Partitioning Testing, and Path Testing. The test cases are developed via different test scenarios that are created to validate a particular requirement. Sometimes, the test cases created are reviewed by other team members and at the appropriate time, the test cases should be updated to validate the new functionalities and the existing functionalities.

4. Execute Test Cases

5. Report Bugs / Defects

Either way, it’s a discrepancy between the expected and actual results. Reporting the bugs/defects involves a process of informing stakeholders. While executing a test, the QA team observes a problem and reports the problem. That’s when the process of tracking the bug starts in the STLC 🐞

Most organizations have a tracking system where the bug/defect goes through its life cycle. The life cycle is a way of maintaining the status of the reported issue. It’s no longer an issue until a developer fixes the bug/defect and the QA team confirms the fix.

6. Report Test Results

  • Total number of executed tests
  • Total number of passed tests
  • Total number of failed tests
  • Total number of defects
  • Total number of resolved defects
  • Total number of outstanding defects

Conclusion: SDLC & STLC Comparison

When it comes to setting up the test environment, this activity can be carried out in the SDLC or STLC. Although essential, the QA team is not responsible for constructing the test environment. Developers generally set it up so testers can start execution. The following is a breakdown of each phase for SDLC and STLC.

We, at Oodles, specialize in building custom enterprise solutions for the diverse industry-specific needs of our clients. Our development team is skilled at using open-source software platforms for custom ERP development from scratch. To learn more about our custom ERP development services, contact us at erp@oodles.io.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
ERP Solutions oodles

We are a leading ERP development company in India offers a wide range of ERP software development services to help you grow your business exponentially.