• info@helpingtesters.com
  • helpingtesters

QA Life Cycles and Software Testing Approaches

September 23, 2017 Manual QA Interview Prep
Software testing, software testing interview questions, software testing guide

IT industry follows the process in most of the aspects. It could be for the entire project, development activities, Software testing activities, management activities, etc. In Software Testing Interview questions will be asked majorly on different life cycles – their phases, components, importance, etc. This article is an attempt to cover life cycles followed in Software Testing. Also, few test approaches that are commonly used are described. 

70+ Software Testing Terms and Common Terminologies

QA Life Cycles and Software Testing Approaches

Differences between Terms in Software Testing

Interview Questions for Software Testers – 1

Interview Questions for Software Testers – 2

Interview Questions for QA Test Lead Position

1. Software Testing Life Cycle

This section covers what is Software Testing life cycle and its phases. In phases, all the activities performed in it are explained.

2. What is Software Testing Life Cycle?

Software Testing life cycle is the life cycle where each and every activity of testing is categorized into phases and these phases are followed in a sequential manner. This starts right from the project beginning where requirements are started to analyze and ends at closing software testing activities. Below are the testing phases that are followed in sequence to form Software Testing Life Cycle.

  • Requirement Analysis
  • Test Planning / Test Strategy
  • Test Design / Test Case Development
  • Test Bed / Environment Set up
  • Test Execution
  • Test Closure

3. Explain Requirement Analysis phase

Requirement Analysis phase is the phase where the requirement specifications shared by the customer is thoroughly analyzed and understood. Here testable, non-testable requirements are categorized and a rough brainstorming session is carried out to figure out the ambiguous and unclear requirements. These are documented and shared with the customer as Query log to get the confirmation on each point so that nothing is misunderstood and mistaken. Main Moto: DO NOT ASSUME.

4. Explain Test Planning / Test Strategy phase

Test strategy is defined by Manager / Lead. It determines few factors like effort needed, scope, schedules/milestones, test approach, and cost estimates for the entire project. Based on the requirement analysis, Test Plan will be started to design. Test Plan is the living document that captures all the activities of software testing, scope to test, resource information, etc.

5. Explain Test Design / Test Case Development phase

Detailed test case writing will be started by the testing team on testable requirements, along with preparation of test data for execution. All the test cases undergo review either by customer or peers or lead to ensure good coverage for tests. Along with this, Requirement Traceability Matrix (RTM) will be prepared to map each test case to testable requirement. This helps to determine test coverage in terms of test cases.

Also, in some projects, instead of test cases, test scenarios will be identified and documented in this phase. These will be at the very high level as to just mention what the scenario has to do. This requires highly skilled testers to develop test scenario documentation.

Test cases / Test Scenarios here will be written for Smoke Test and Regression Test.0

6. Explain Test Bed / Environment Setup phase

The test bed will be set up with all the required hardware and software. Once the Test Environment is setup the Smoke test cases will be executed to check the readiness of the test environment.

7. Explain Test Execution phase

Once the smoke test passes, regression test cases will be executed by the software testing team. Passed test cases will be marked PASSED and failed ones will be FAILED. FAILED test cases will have the defect or bug logged into the bug management tool. FAILED Test case and the respective bug will be linked to each other. Along with these conditions, test cases may be marked CONDITIONAL PASSED when it has minor issues that do not hamper the functionality. But the issue should be logged into bug management tool and linked to this test case. Any test cases that cannot be executed due to blocker issues will be marked BLOCKED and the issue will be logged and linked to it. Test execution phase helps in determining how good the feature is implemented with correctness.

8. Explain Test Cycle Closure phase

Test Cycle will be closed based on different criteria as test coverage, quality, cost, time, business objectives, etc. This phase also conducts Retrospective to evaluate what all went good, what all went bad, which area needs to be improve, lessons learned from the current cycle. Test metrics will be prepared to analyze how much is the success rate, deviation from plan.

9. Bug Management

In Software Testing Interview, questions on bug management through its life cycle, components, severity, and priority are commonly asked and very important as well.

10. Explain bug life cycle in Software Testing

Bug life cycle / Bug management is one of the most important activity followed by the entire team (developers, testers, leads, managers). Bug life cycle should be followed very strictly in the projects as the bugs will always have Customer’s, Stakeholder’s keen eye on them. Moving their status on time correctly helps in deciding the success of any component/project in while. A number of Open bugs will hamper the product’s quality and customer’s faith as well. Below is the life cycle of any bug logged by the tester during software testing.

  • When the tester finds the bug, it gets logged into the Bug Management tool with all required information. Bug status will be NEW at this point of time
  • Once the bug is logged, it is reviewed by Test Lead / Manager and is assigned to Development team. Bug status moves from NEW to ASSIGNED at this stage
  • Developer reviews the bug again and if the bug is Valid Bug is opened and the status moves from ASSIGNED to OPEN.
  • Once the bug is fixed, developer moves the bug status from ASSIGNED to FIXED. At this stage, the bug will get assigned to the tester who has logged it.
  • The tester will then retest the fixed bug and if it is working as expected, status is marked as VERIFIED.
  • Once the status moves to VERIFIED, the tester has to close the bug by again marking it with CLOSED status.
  • If the bug is not fixed and the issue still exists, tester re-opens the bug and assigns it back to the developer with all the information used for software testing the bug. Here status moves from FIXED to REOPEN.
  • Developer reviews the bug and if more information is needed to analyze it, the developer will move the bug status to NEED MORE INFO and assigns it to Tester. Tester will then have to provide required information and assign the bug back to developer
  • Developer reviews the bug and if it is invalid, then will move the bug status to INVALID and closes it
  • Developer reviews the bug and if it is already logged by another tester, then will move the status to DUPLICATE and closes it
  • Developer reviews the bug and if can’t be fixed in the current release, then after discussion with managers, the bug will be moved to DEFERRED. This means bug will be fixed in future releases

11. What are the different components of bug and explain them

While logging a bug, the tester has to provide a lot much information. Bug management tool has the fields where tester has to provide information to it while logging the bug. Below are the components, in general, in any bug getting logged:

  • Summary: Short title for a bug which summarizes what is actually happening. It should be catchy and clear. Just by reading the summary anyone should understand what the issue is.
  • Description: Detailed steps to reproduce the bug. Here steps start from launching the application till the bug encountered. All the steps should be clearly described with input data wherever needed
  • Actual Result: What actually is happening? Here the issue should be clearly described along with analysis made. Also, it is always good to give URL of the page where this bug is seen
  • Expected Result: What should happen. Here the expected behavior should be described correctly. References to relevant requirement should be provided
  • Component: Which component the bug belongs to. Select the correct feature that the bug belongs to. This is because bug gets assigned to the developer who is working on the particular feature.
  • Severity: Level of impact of the bug – Critical, Major, Normal, Minor
  • Priority: Urgency to fix the bug – Critical, High, Medium, Low
  • Release info: Release name. This is the release name of the application. It depends on project naming the release (example: App 1.0, Maintenance 1.0, etc.,)
  • Build info: Current build number in the release. This indicates the build in which the bug is found
  • Environment: Testing environment name (testing, staging, prod, etc.). Testing happens in most of the environments. This indicates the software testing environment in which the bug is found.
  • Operating System: OS version of the machine where bug is found
  • Browsers: What all browsers bug is encountered where the bug is found. (usually, one or two browsers will be provided unless cross-browser comes into picture)
  • Attachment: Screenshot or video recording of the bug. The attachment should clearly indicate the area of the bug. Highlight all possible information that should be noted in the screenshots/video.

12. Explain different Severity Levels that the bug could have

  • Critical / Show Stopper (S1): Bug that hampers critical functionality and stops the user from proceeding further with any actions. The user here is blocked to perform any actions on the particular feature or application as a whole. Example: Submissions are not working at all, 404 errors, etc.
  • Major or Severe (S2): Bug that is totally misbehaving and producing wrong results goes to this category. Here the feature deviates completely from the requirement. Example: Wrong calculations, incorrect logics, no results for valid inputs, lot many results for invalid inputs, log in with no checks, broken links etc.
  • Moderate/ Normal (S3): Bug that is hampering the functionality indirectly. Here the hampered functionality can still be tested in other ways to produce correct results. Examples: Instant updates in pages upon data input, broken images but still working upon clicks, etc.
  • Low or Minor (S4): Bug that does not have an impact on the functionality. UI issues, alignments, spellings, grammar. Example: Logo misplaced, widget borders overlapped or crossing page borders, etc.

13. Explain different Priority Levels that the bug could have

  • Priority 1 Critical (P1): Bug has to be fixed immediately, within few hours of logging it.
  • Priority 2 High (P2): Once the P1 bugs are fixed, P2 bugs are taken into considerations. These have to be fixed within 24-48 hours of logging it.
  • Priority 3 Medium (P3): Once the P2 bugs are fixed, P3 bugs are taken into considerations. These have to be fixed within 2-4 days of logging it or within a week or so.
  • Once the P3 bugs are fixed, P4 bugs are taken into considerations. These can be decided to fix in next builds or next releases. Bugs that do not hamper functionalities and not so visible to the user are considered to be fixed in this priority.

14. Test approaches

In Software Testing Interview, questions will be asked on which approach is best for the testing and what the factors to consider before deciding the approach. Approach to software testing a system/product/application is not easy to decide as they involve lot many criteria for this. Few of them are as below:

  • Schedule
  • Budget constraints
  • Skilled tester to adapt to any type of approach
  • Complexity of the system/product/application
  • Expectations on the revenue returned

Software Testing Interview questions will basically be based on testing phases in any of the models. Here we will go through common approaches that focus on testing activities to a very high extent. All the below approaches can be tweaked to project’s comfort but keeping the main process intact.

15. Explain testing phases in V-model

V-model is the model where development and testing go hand-in-hand. All the development activities will have relevant testing activities bounded to it. V-model has been proved that it is one of the approaches to eliminate lot many bugs entering the source code and also lot many bugs fixed at the early stage of the development. Below is how the model works:

  • At the Requirements Study phase, testing activity to identify and design User Acceptance Test Scenarios / Cases is performed.
  • At the System Design phase, testing activity to identify and design System Test Scenarios / Cases is performed
  • At the Architecture / High-level design, testing activity to identify and design Integration Test Scenarios / Cases is performed
  • At the Module / Low-level design, testing activity to perform and design Unit Test Scenarios / Cases is performed.
  • Upon completion of Implementation, at the stages, each level’s test scenarios/cases are executed.

Test Scenarios / Cases designed at particular stages are used in execution at their relevant phases.

Explain Iterative model

Iteration is the model or approach where the new features developed are added to the existing system. Once the new features are added, the entire system is tested for both existing functionalities and new features. Regression testing is extensively performed in this approach so as to maintain the quality of the entire system. The major goal here is to ensure that all the functionalities that were working fine before adding new feature still works correctly after adding them. Also, it involves modifications to existing features as well as per changing requirements (CRs).

Here each release is divided into iterations and each iteration is the integration of new features to existing system and modification of the existing features. As and when the iterations increase, the testing effort also increases tremendously to ensure the quality of the whole system. Automation is preferred for existing feature’s regression and new feature / modified feature is tested manually.

Explain Agile Scrum

Agile scrum is one of the most commonly followed approaches in current IT industry. Customers who expect quick returns from their investments go for this approach. Here the release timelines are too short, usually one release per 2-3 months. Each release has fewer new features and/or modifications to the existing features. The standard process of this approach takes variations from project-to-project i.e., the same approach is followed in different ways in different projects. Here team size will be less compared to other approaches and the team is usually cross-skilled. Business analyst, developers, testers, managers, customers form a single team. Customer interaction is very high in the Agile scrum and there is no much of documentation done. The common process goes as below:

  • Each release is divided into sprints, which is of 2 weeks each. Within these 2 weeks, below activities are performed.
  • Business analyst collects requirements from customers, customer’s customers, backlog issues, etc. Each requirement gets logged to the test management tool as Story and expectations are termed as Acceptance Criteria.
  • Each of the stories is described to the entire team as JAD sessions. Here developer, testers commonly discuss and decide on which functionalities can be implemented and tested respectively. The effort required from both the sides are provided at very high level.
  • Stories are selected and finalized for which sprints they have to be taken.
  • Developers proceed with designing, implementing the features. Testers proceed with identifying the test scenarios for the features as per acceptance criteria. Smoke test and regression test scenarios are documented and reviewed by the peers, leads, business analyst, and/or customers.
  • Once the build is ready for testing, testers perform the smoke test for each of the stories implemented and will report blockers if any. Upon passing the smoke test, testers will start performing regression testing for stories and also the impacted features.
  • Any issues found, are logged into the bug management tool and developers take quick action on them for fixing it.
  • Upon completion of regression testing and bug verification for the fixed ones, testers will report the success % for each of the stories and will come up with the retrospective document for the sprint. This document will have what went well in the current sprint, what went bad, and what could have been better.
  • Retrospective points are discussed within the team and corrective measures are taken to enhance the process further.
  • Each story is given points at the end of sprint based on effort, success, failure, open bugs, and fixed bugs.
  • Any unfixed bug will move to next sprint.
  • Along with these activities, scrum meeting is held daily by Scrum master (usually the manager), where every team member has to update on their completed and current tasks, issues, risks, dependencies. Scrum master collects all the points from the entire team and coordinates with customers and/or team to resolve issues then and there.

This common process takes a variation from project-to-project. This approach guarantees the quality of the product if followed strictly, as there is lack of documentation and tracking. The team has to be self-responsible for the tasks being carried out and should maintain accountability for themselves.

About the author

Nandini KS editor

Hello, this is Nandini.

Leave a Reply

Your email address will not be published.