QA engineers get to tell developers their baby is ugly
My name is Julia, and I'm a QA Manual Team Lead at Fulcrum Rocks (a development shop in Kyiv, Ukraine).
My passion and goal here in an app development company is to take care of the quality of each product we design. I'm ISTQB Certified QA Engineer and know how to supercharge the testing process for your projects.
That is why today, I'll share some thoughts about STLC in Fulcrum Rocks. In this article, we invite you to take a look under the hood of QA processes:
- easy-peasy demonstration of what software testing life cycle is;
- STLC phases and deliverables;
- QA department at Fulcrum Rocks.
What is Software Testing Life Cycle?
It seems to many that STLC looks like this: Eat -> Sleep -> Coffee -> Test ->Repeat.
But I have a "minor" correction to this life cycle. The testing process is not only about writing and running tests. It's a broader concept that needs your maximum engagement.
Software Testing Life Cycle (STLC) is a sequence of different activities performed by a testing team. The main goal is to ensure the product or software meets quality standards. It's an integral part of the software development life cycle, but it's performed only at the testing phases. Tests are performed systematically over several stages until a product is ready for release.
It's better to start testing as soon as possible while running both static and dynamic test activities. You can save time and eliminate costly changes at the early stages of the STLC.
Depending on the difficulty and goal of a project, STLC may be informal or highly formal. Software Testing Life Cycle has seven key phases. But it's not essential to follow all of them while you are working on your project. The choice of STLC phases depends on many factors, including the type of product, time, and resources you have to complete.
The major STLC phases are:
- test planning;
- test monitoring and control;
- test analysis;
- test design;
- test implementation;
- test execution;
- test completion.
A test plan outlines test activities for development and maintenance projects. Test planning involves activities that define:
- the objectives of running tests;
- the best approach to meet test objectives.
You should keep in mind a test schedule and deadline, tech tasks, and other specifications. Test plans can be further revised based on the feedback from monitoring and control activities. The primary entry criteria of this phase are the provision of Project Requirement Documents.
The content of test plans varies and can extend beyond the topics identified above. You can find a sample test plan structure and a sample test plan in ISO standard (ISO/IEC/IEEE 29119-3).
Test monitoring and control
The phase includes the constant comparison of the current progress of a project against the metrics defined in the test plan. Test control involves taking actions needed to meet the plan's objectives, which may undergo specific changes over time. The exit criteria evaluate the test monitoring and control phase. It is referred to as the definition of done in some software development lifecycle models.
Test analysis, which determines "what to test" in terms of measurable coverage criteria. The phase including:
- analysis of requirement specifications (business requirements, functional requirements, system requirements, etc.);
- design implementation information (architecture diagrams, documents, design specifications, call flow graphs, etc.);
- system or component implementation, risk analysis reports, etc.
The identification of defects during test analysis is a significant potential benefit. Primarily, no other review process is being used and/or the test process, closely connected with the review process.
Test design answers the question "how to test?" It involves designing and prioritizing test cases and sets of test cases, including:
- identification of necessary test data to support test conditions and test cases;
- creating the test environment;
- identifying any required infrastructure and tools;
- capturing bi-directional traceability between the test basis, etc.
The test implementation phase includes such significant activities as:
- developing test procedures;
- creating automated test scripts;
- building the test environment (test harnesses, service virtualization, simulators, and other infrastructure items);
- verifying that everything needed has been set up correctly;
- ensuring the test data is loaded correctly to the test environment, etc.
Test execution is, without doubt, the most critical phase in the STLC. It is the process of executing the code and comparing the expected and actual results. Test execution includes:
- recording the IDs and versions of the test item(s) or test object, test tool(s), and testware;
- executing tests either manually or by using test execution tools;
- comparing actual results with expected results;
- analyzing anomalies to establish their likely causes;
- reporting defects based on the failures observed.
The test completion phase occurs when a project is completed or an Agile project iteration is finished. It unites all data from the collected test activities to experience testware. Test completion includes such activities as checking whether all defect reports are closed. Very important to create a test summary report that is communicated to stakeholders.
QA Department at Fulcrum Rocks
At Fulcrum Rocks, we have only the best QA specialists good in test planning & testing. Moreover, we prepare detailed test documentation.
Test Plan covers all testing stages of the project: functional, automated, security testing. It is prepared by the most experienced QA specialist on the project. After, it is sent to the QA Manager for approval. The test plan includes:
- Document identifier, which specifies the date of document creation, version, date of editing;
- The introductory part with test object description;
- Resources, i.e., what equipment/devices/software is needed for STLC;
- List of tasks and goals to be achieved;
- Features to test;
- The team, i.e., who will be involved and what knowledge/skills are needed;
- Work schedule, i.e., the dates when a specific test will be performed;
- Item pass/fail criteria, i.e., the requirements a product should meet for a customer to accept it;
- Risk assessment with ways to avoid them;
- Documentation, i.e., the list of documents that you will use on a project.
Test cases, which include specific steps needed to be taken to test the implementation of the entire function or part of it.
Checklist is a list of testing scenarios performed by the QA team. First, a checklist in TestRail or Google Sheets is created. Further on, the team crosses the completed test items, which lets them better understand what job has been done and what is scheduled.
Bug report featuring all details about the bug. It includes details about both the error itself and the conditions for its occurrence.
Test report is a document featuring a summary of all tests conducted during the software testing life cycle.
Find in the guide:
- Offshore development rates by country
- Time zone difference
- Development rates by role
Success Metrics of QA Team
At Fulcrum Rocks, we are continually working on the improvement of our expertise level. To organize the workflow within the team and achieve better results, we participate in meetings within the department. Also, we complete project status reports, work on our internal documentation, etc.
The success of software testing life cycle is based on such metrics as:
- low percentage of bugs found during production;
- low percentage of low-quality bugs;
- testing time within the estimate.
Are you still looking for a team that will take care of the speed and quality of fulfilling your projects? Fulcrum Rocks will be the best choice for you! Just get in touch with us. We are always ready to help.