The Phases of Software Testing Life Cycle (STLC)

corona image

Coronavirus Impact on eCommerce Industry!

The software testing life cycle (STLC) is the sequence of testing activities throughout development. Described as a string of activities handled by the testing team in their testing process over a particular product, it is the sequence of activities carried out by the testing team from the beginning of the project until the end of the project.

The testing activities start from the requirements analysis phase and goes through all the phases one by one before completing with the Test cycle closure phase.

The Six STLC Phases are

1. Requirement Analysis

2. Test Planning

3. Test Case Development

4. Environment Setup

5. Test Execution

6. Test Cycle Closure

STLC Life Cycle Phase Details

Let us discuss each phase of the STLC Life Cycle in detail. The STLC life cycle runs in parallel or overlaps with the project life cycle-

Phase 1: Requirement Analysis

This is the very first phase of the Software Testing Life Cycle (STLC). In this phase testing team goes through the Requirement document with both functional and non-functional details to identify the testable requirements.

In case of any confusion, the QA team may set up a meeting with the clients and the stakeholders (Technical Leads, Business Analyst, System Architects and Client, etc.) in order to clarify their doubts.

Once the QA team is clear with the requirements, they will document the acceptance criteria and get it approved by the customers.

Phase 2: Test Planning

Test Planning phase starts soon after the completion of the Requirement Analysis phase. In this phase, the QA manager or QA Lead will prepare the Test Plan and Test strategy documents. As per these documents, they will also come up with the testing effort estimations.

Phase 3: Test Case Development

In this phase, the QA team writes test cases. They also write scripts for automation if required. Verification of both the test cases and test scripts is done by peers. Creation of Test Data is done in this phase.

Tests cases can be designed by two approaches:

  • By knowing the Functions / Requirements which is Black Box Approach
  • By knowing the internal implementations which is White Box Approach

Phase 4: Test Environment Setup

During this phase, testing environments are configured and deployed. This phase may include a variety of testing tools, including TestComplete, Selenium, Appium, or Katalon Studio, and so on.

Sometimes this phase also includes setting up test servers. Once environments are deployed, smoke tests are performed to ensure that environments are working as expected with all intended functionality.

Phase 5: Test Execution

In the Test Execution phase, the test cases are executed in the testing environment. While execution of the test cases the QA team may find bugs that will be reported against that test case. This bug is fixed by the developer and is retested by the QA.

Phase 6: Test Cycle Closure

This is just the phase where the evaluation of the whole cycle takes place. The members of the testing team evaluate the criteria of the cycle completion on the basis of Quality, Test Coverage, Time, Software, Cost, and crucial business objectives.

The team also discusses all the things which went well and the areas which need some improvement in the software testing life cycle process. The bug and test case report will be used to analyze and find out the distribution of defects by severity and type.

After the completion of the test cycle, the test metrics and test closure reports will be prepared.

Share this post

Flutter is developed using the Dart language. It is a Google’s UI toolkit to develop beautiful native applications for mobile, web and desktops. It was first unveiled in 2015 at the Dart Developer Summit that was a beta version for a while. Then Google officially released its 1.0 version in December 2018.

Though Flutter is around since 2015, the buzz around it has grown stronger only lately. Flutter is developed using Dart, which is a simple object-oriented programming language.

A developer may choose between these options. One is building the same app for different operating systems using different technology. Another one is to accept a solution which gives a single app for multiple operating systems with accuracy and speed. With Flutter we have a solution for this. 

Characteristics of Flutter

  1. Creating beautiful apps.
  2. Flutter is more productive. Test your app real-time using hot reload.
  3. It is fast because of the Dart language.
  4. Flutter is, of course, Open Source.
  5. Animations are very easy to develop in Flutter.
  6. Reusable widgets. Developing a widget once and use it anywhere.

As a cross-platform framework, Flutter has some similarities with React Native as it allows the reactive and declarative style of programming. However, Flutter does not require JavaScript, which improves app startup times and performances. Dart achieves this by using Ahead-Of-Time or AOT compilation. 

Flutter VS React Native

Flutter vs React Native
  • React Native uses JavaScript and Flutter uses Dart language. Dart is a strong mixture of Javascript and Java. For a web developer who already knows JavaScript, it is easy to integrate with React Native.

  • React Native has some number of built-in components. Equivalently it is called widget in Flutter, and there are a lot more widgets in Flutter that components in React Native.

  • React Native has been around for longer than Flutter. React Native has a richer ecosystem as a result. It also can use some JavaScript libraries which is out of the box feature.

  • Both frameworks are fast enough to satisfy users. But there is an interesting difference in how both frameworks compile their code. React Native has some drawback here because JavaScript is not a well-written language.

In conclusion, Flutter is very young. A lot of positive feedback is coming from developers. Google seems to push it more, and its popularity is increasing as a result. 

Share this post

Subscribe to our newsletter