Practical Software Testing QA Process Flow (Requirements to Release)

A Complete Overview of End-to-End QA Software Testing Process Flow:

Note – We are re-publishing this useful post with updated content.

The job of a software testing professional is not an easy one. It is filled with challenges, which is equally demanding as well.  Testers are supposed to be alert and enthusiastic in each and every phases of the application lifecycle.

Though there are challenges, there are several tremendous opportunities as well to learn and explore the various aspects of testing methodologies, processes and of course the software in detail.

The role of a test engineer begins very early. And right from the conceptualization of the project, testers are involved in discussions with the product owner, project manager and various stakeholders.

Requirements To Release

This tutorial on “Software Testing Process flow” gives you a complete overview of the various phases in STLC along with the challenges involved and the best practices to overcome those challenges in an easily understandable manner.

Requirement to Release – A Complete Overview

Software Testing Life Cycle

Right from Requirement to Release, each phase is explained clearly. Let's take a look at them in detail.

#1) Requirement

A project cannot take off without having a clear requirement. This is the most crucial phase where ideas need to get written in a well understandable and formatted document. If you are a part of the project where you are participating in the requirement gathering phase, then consider yourself lucky.

Wondering Why? It is because you are witnessing a project in making from the scratch. Though there is pride in being since inception, it comes with some responsibilities and challenges too.

Challenges

One cannot imagine all the requirements to gather in a single sitting. Be patient enough.

A lot of discussions will happen, some of which may be simply irrelevant to your project but even then they may contain some vital information for your project. Sometimes the speed of discussions may exceed your grasping capabilities or you would simply not pay attention to the product owner.

The below picture highlights the crucial steps involved in requirement gathering:

Requirements LifeCycle

Every piece of information that is missed has a huge impact on the overall understanding and testing of the project. To overcome this, here are some best practices which should be followed during this phase.

Best Practices

  • Keep your mind open and pay attention to every word of the product owner.
  • Don’t just listen, clear your doubt however small it seems to be.
  • Always use notebooks for fast note keeping. You should use a laptop, only if you can really type at a fair speed.
  • Repeat the sentences and get them clarified from the PO which you think is what you understood.
  • Draw block diagrams, link text etc. to make requirements more clear at a later period of time.
  • If the teams are in different locations, try hard making it a WebEx or similar recording. It will always help when you have a doubt after the discussions are over.

Though there is no separate wall as such for each and every phase, requirements do change even very late in developments. So, the idea is to grab the most of the requirement and document this properly.

Once it is been documented with all the necessary points, distribute and discuss this all the stakeholders so that any suggestions or changes are caught early and before moving on, everyone is on the same page.

#2) Test Strategy

Testers are supposed to come out with a test strategy which is not just sufficient to test the software better, but should also instill confidence in every stakeholder regarding the quality of the product.

Test Strategy

Challenges

The most crucial aspect of this phase is to create a strategy which when worked upon should deliver a software product that is error free, sustainable and accepted by its end users.

Test strategies are something you will not change every other day.  In some cases, you need to discuss your test strategies with the customers also. So this part should be dealt with high importance.

Best practices

  • Here are some of the best practices, which when followed can provide you a great relief and result in a smooth testing.
  • Go through the requirement document once again. Highlight the import points with respect to the environment of the target software.
  • Make a list of environments where the software will actually be deployed.
  • Environments can be understood as a type of Operating Systems or Mobile Devices.
  • If Windows is the operating system, list down all the versions of the window where you will be testing your software. If the versions viz. Windows 7, Windows 10 or Windows Server(s) are still not defined in the requirement document, then it is the high time when these should be discussed.
  • On a similar note, get the target browsers with the versions discussed and documented if the AUT is a web-based system.
  • Make a list of all the third party software’s that the application will need (If required/supported). These may include Adobe Acrobat, Microsoft Office, any add-ons etc.

Here the idea behind is to keep every necessary and required platform, devices, and software’s that our application will need to function before us so that a comprehensive strategy can be formulated.

Below figure will help you to understand the outline of test strategy if you are working on an agile project:

Testing Strategy

#3) Test Planning

After the testers are armed with all the information regarding AUT, the planning phase is where the Strategy is implemented.

Like test strategy, test planning is also a crucial phase.

Test Plan

Challenges

Since the success (or failure) of the AUT depends largely on how the tests were carried out, this phase becomes an important aspect of the entire test life cycle. Why? Because a part of testing is defined in this phase.

In order to overcome some challenges, these best practices can really be helpful.

Best practices

  • Always keep in mind, not to leave any stone unturned when it comes to testing your application.
  • It’s time to formulate test strategy.
  • Create a matrix of the environment so that the software is tested on all platforms.
  • Like, Windows 10+Internet Explorer 11+ Windows Office 2010+ …
  • Like Android 4.2.2+ Chrome browser.
  • If your application works with multiple databases (If documented), keep the databases (MySQL, Oracle, SQLServer) in the test matrix in such a way that they are too integrated with some test.
  • Configure test machines accordingly and name them as SetUp1, SetUp2, etc.
  • SetUp1 will have Windows 7+ IE 10+ Office 2007+.
  • SetUp2 may have Windows 10+ IE Edge+ Office 2013+.
  • SetUp3 may have an Android phone with your .apk file installed.
  • Congratulations! Your test setup is ready and you have also included every possible combination of platforms that your application will work upon.

Recommended Tool:

TestRail:

testrail logo

A tool like TestRail can help you document your test cases and create your test plans and runs much more efficiently than using a Word document or Excel template — especially if you’re working in a team. With TestRail, you can even add detailed steps, data files, expected results, and screenshots to your test case definitions. 

But TestRail isn’t just for test planning. It provides comprehensive, web-based test case management to help teams organize testing efforts and get real-time insights into testing activity.

You can track the status of individual tests and test runs, and measure progress with informative dashboards and activity reports. Compare results across multiple test runs, configurations, and milestones.

Track team workload to adjust assignments and resources and work more productively with personalized to-do lists, filters, and email notifications.

=> Learn more about TestRail and get a free trial here


#4) Testing

Finding Bugs

Finally, your application build is out and you are ready to find bugs! Now it’s’ time to work on test planning and find as many bugs as possible. There will be some phases in between if you work in an agile environment, then simply follow those scrum methods.

Below diagram depicts the categorization of various testing types:

Types of Testing

Challenges

Testing is a cumbersome process which itself is error prone! One finds many challenges while testing an application. Given below are some best practices to rescue.

Best Practices

Cheer up! You are trying to find defects in the code. You need to pay attention to the overall working of the software.

  • It’s always advisable to look at the application with a fresh look, WITHOUT GOING THROUGH TEST CASES.
  • Follow the navigation path of your software (AUT).
  • Get yourself familiar with the AUT.
  • Now read the test cases (All) of any particular module (Maybe of your choice).
  • Now go to the AUT and match the findings with those mentioned in the expected section of the test cases.
  • Idea behind is to test every mentioned feature on every supported platform.
  • Make a note of every deviation however trivial it seems to be.
  • Write down the steps how you reach any deviation, take screenshots, capture error logs, server logs, and any other supporting documentation which can prove the existence of defects.
  • Don’t hesitate to ask. Though you have the requirement document, there will be times when you will be in doubt.
  • Reach out to the developers (if they sit next to you or they are reachable) in doubt before you reach to the Product Owner. Understand the developer's perspective on the working of the software. Understand them. If you feel this implementation is not according to the requirement, then inform the test manager.

#5) Before Release

Before we release any product to the market, the quality of the product has to be ensured. Software's are developed once but they are actually been tested until they are replaced or removed.

Challenges

A software has to be tested rigorously for many of its parameters.

The parameters may not be limited to:

  • Functionality /Behavioral.
  • Performance.
  • Scalability.
  • Compatible with the said platforms.

Challenge is also to predict the success rate of an application which depends on many iterations of the testing performed.

Best Practices

  • Make sure that all the features on all the platforms are tested.
  • Highlight the areas which are not tested or the one which needs more testing efforts.
  • Keep a matrix of all the test results before release. The test matrix will give an overall picture of the stability of the product. It will also help the management to a take a call on the release dates.
  • Provide your input/suggestions to the team about your experiences while testing the product.
  • Your input considering yourself as the end user will benefit the software by large.
  • Due to time crunch or any other such situation, we either miss out some testing or do not go deep into this. Don’t hesitate to tell the testing status to your manager.
  • Present the application health card to the stakeholders. Health card should have a number of all the logged, open, closed, intermittent defects with their severity and priority.
  • Draft a release document and share this across the team.
  • Work on the release document prepared.
  • Improve on the areas which are been suggested by the management/team.

The below picture shows the software release lifecycle map:

Before Release

#6) Release

Finally, the time comes when we have to deliver the product to its intended users. We all as a team have worked hard to sign off the product and let the software help its users.

Challenges

 Software test engineers are primarily responsible for the release of any software. This activity requires process-oriented workflow. Here are some of the best practices that are involved in this phase.

Best Practices

  • Always remember, you are not working on the release document on the date of ACTUAL RELEASE.
  • Always plan the release activity prior to the actual release date.
  • Standardize the document as per the company policies.
  • Your release document should try to establish the positive expectations from the software.
  • Mention all the software and hardware requirements with specific to their versions clearly in the document.
  • Include all the open defects and their severity.
  • Do not hide major impacted areas due to open defects. Give them a place in the Release document.
  • Get the document reviewed and digitally signed [may differ as per company policy].
  • Be confident and ship the release document along with the software.

********************************

QA Testing Process on a Real Project – Waterfall Method

I got an interesting question from a reader, How is testing carried out in a company i.e in a practical environment?

Those who just pass out from college and start searching for jobs have this curiosity – how would be the actual working environment in a company?

Here I have focused on the actual working process of Software Testing in the companies.

Actual testing process in companies

Whenever we get any new project there is an initial project familiarity meeting. In this meeting, we basically discuss on who is the client? what is the project duration and when is its delivery? Who are all involved in the project i.e manager, Tech leads, QA leads, developers, testers etc.?

From the SRS (software requirement specification) project plan is developed. The responsibility of testers is to create a software test plan from this SRS and project plan. Developers start coding from the design. The project work is divided into different modules and these project modules are distributed among the developers.

In the meantime, the responsibility of a tester is to create test scenario and write test cases according to the assigned modules. We try to cover almost all the functional test cases from SRS.  The data can be maintained manually in some excel test case templates or bug tracking tools.

When developers finish the individual modules, those modules are assigned to the testers.  Smoke testing is performed on these modules and if they fail this test, modules are reassigned to the respective developers for a fix.

For passed modules, manual testing is carried out from the written test cases. If any bug is found that gets assigned to the module developer and get logged in bug tracking tool. On bug fix, a tester does bug verification and regression testing of all related modules. If bug passes the verification it is marked as verified and marked as closed. Otherwise, above-mentioned bug cycle gets repeated.(I will cover the bug life cycle in another post)

Different tests are performed on individual modules and integration testing on module integration. These tests include Compatibility testing i.e testing application on different hardware, OS versions, software platform, different browsers etc.

Load and stress testing is also carried out according to SRS. Finally, system testing is performed by creating virtual client environment. Once all the test cases are executed, a test report is prepared and the decision is taken to release the product!

Steps in Requirements to Release

Given below are the details of each testing step that is carried out in each software quality and testing life cycle specified by IEEE and ISO standards:

#1) SRS Review: Review of the software requirement specifications

#2) Objectives are set for Major releases

#3) Target Date planned for the Releases

#4) Detailed Project Plan is built. This includes the decision on Design Specifications

#5) Develop Test Plan based on Design Specifications

#6) Test Plan: This includes objectives, the methodology adopted while testing, features to be tested and not to be tested, risk criteria, testing schedule, multi-platform support and the resource allocation for testing.

#7) Test Specifications
This document includes technical details (Software requirements) required prior to testing.

#8) Writing of Test Cases

#9) Development – Modules are developed one by one

#10) Installers Binding: Installers are built around the individual product.

#11) Build procedure :
A build includes Installers of the available products – multiple platforms.

#12) Testing
Smoke Test (BVT): Basic application test to take decision on further testing

  • Testing of new features
  • Cross-browser and cross-platform testing
  • Stress testing and memory leakage testing.

#13) Test Summary Report

#14) Code freezing

  • No more new features are added at this point.

#15) Testing

  • Build and regression testing.

#16) Decision to release the product

#17) Post-release scenario for further objectives.

This was a summary of an actual testing process in a company environment.

Conclusion

The job of a software tester is full of challenges, yet an enjoyable one. This is for someone who is equally passionate, motivated and full of enthusiasm. Finding faults in someone is not always an easy job! This requires a lot of skills and a bull's eye to the defects.

Besides all the qualities, a tester should be process-oriented as well. Like all the other industries, projects in IT are too worked in phases, where every phase has some well-defined goals.  And every goal has a well-defined acceptance criterion. A test engineer has to carry many loads of software quality on his/her shoulders.

While working in any phase of software, testers are supposed to follow the best practices and should align with the process involved in the respective phases.  Following the best practices and well-formulated process not just helps to ease testers work, it also helps in assuring the quality of the software.

Have you been a part of any of the above phases? Feel free to share your experiences below.

Recommended Reading

416 thoughts on “Practical Software Testing QA Process Flow (Requirements to Release)”

  1. Hi Friends ,
    Hi, i am looking for a software tester position . I have theoretical knowledge , but i want to know how practically to do manual testing a web application and window application. can u please send me a practical example with test plans, test senario and test cases. i would really appreciate it, as i am not getting practical example on internet. please mail me:
    superspot.kumar@gmail.com

  2. Sir please email me also those practicle examples as i also have theoretical knowledge but i am not able to get those examples on internet.
    Please help me out sir,
    My email id is :- aman.agrawal08@gmail.com
    Thank you

    Best Regards
    Aman Agrawal

  3. hi,
    i have shown 3+yrs experience in that 2yrs as qtp,
    so what are questions we can expect from manual testing
    if anyone knows please send to my mail. please help me. thanks in advance

  4. Hai,

    Your post is very helpful. Thank you very much for sharing testing process in realtime environment. I have created test case doc for Gmail login, but im bit confuse in preparing bug report. Will you please send me sample bug report. Thanks.

  5. I want to know the real time experience of testing and what are the procedures need to be followed in real time pls any one guide me na

  6. Hi,

    I am currently working as a manual test lead with 5+ years of experience and have got saturated in performing manual testing. Interested in learning Load runner & performance concepts. But few people tell me that it is not a wise decision to learn loadrunner now and jump into that line and also it is very difficult to crack a Load runner interview with just institute training and no project experience.
    Suggestions please ASAP.

    Thanks,
    Honey

  7. agile testing is becoming more popular because of its process. It saves the customer money and time. process of agile is customer friendly.

  8. Hi all.

    Could anyone pls explain to me the following?

    What are Builds in Software testing and at what stage of STLC do the Testers receive them and what kind of testings are performed on them?

    Thanks in advance.

  9. Hi

    Can anyone send me a sample real time project in manual testing or automation testing ?Please anyone help me out? Thanks in advance .My email ID :venkateshecec@gmail.com

  10. hi friends pls help me regarding this question….
    im 2012 passed out and i got recruited in an MNC as a software tester.
    I want to get the info regarding software testing practically which is going on through software company.
    And im having confusion regarding levels of testing, categories of testing,types of testing etc….:(
    so I need a complete information regarding this.
    Im very thankful to u friends for giving me information in advance …
    Pls send info to my mail: solomon.benial@gmail.com

  11. Hi all, i have two questions. though i kind of know the concept behind the questions but still want a clear answer from genius like you all…this is a discussion question and i need a clear answer, bcos the discussion might go on and i need to answer them sensibly…I want to know for developing a logical model of a registration system at a school which approach or strategy would be better, top down or bottom up? And also from system analyst point of view which could work better, start with decision table to decision tree or from tree to table?

  12. hiii….all.m a btec 2012 pass out from non it branch.i have knowladge on manual & automation testing.I just want to put 1 yr experience.i dont have any real time project to show .Can any one plz send me a real time project ….plzz i need help….

  13. Hello Sir,
    This site is very helpful.I worked for 3 yrs as a programmer in an MNC…but then again a gap of 2 years .Now i want to shift to Testing .For a testing career,can you suggest me what all i need to learn…manual,qtp,qc,loadrunner…..how to get real time testing knowledge and also there are different domains …etl…net related etc….i mean for all these domain will the basic testing course ll be sufficient…? .please help me in how to start my career again in Testing.

  14. Nowadays am here lot about mobile testing…selenium ,sap testing….i mean which way i need to choose to start my testing career…what all i need to learn ?Please guide

  15. Hi all,
    Would it be a wise decision in changing the field to testing.
    I have done BE(civil)course completed (dont have a degree) after 2nd PUC, having experience in architecture and civil industry with an own firm as a properitor for 12 + yrs, now iam 35 :).

  16. We have started collecting requirements from the client for Java based project, they are providing details verbally about flow and functionality. So, as being a part of requirement gathering team which documents should I prepare that can help to perform automation testing on it. I have total freedom to ask client about any documents I want. I have set of below questions.

    How to start automation testing from scratch? what to documents to prepare for automation testing while doing requirement gathering. what tools and technology to be used to perform automation testing on Java project when ideally automation starts? How to build automation framework?

  17. i want what is the process of testing and i want testing person can enter into a company what he can do from the begining of testing domin what r the responsibilites of testing .how to write effective test cases.i want begining to ending of project life cycle.

  18. Hi all,
    I am looking for software tester job.I do not have any experience but i put 2+years.I Have some questions
    1) What do you mean by model?
    2) Will all the companies follow the same model?
    3) All the companies will follow same model for all the projects? If no? Explain?
    4) Tell me 1 major drawback of prototype model?
    5) Explain verification, validation in your own words?
    6) During validation also, verification will be conducted? Say yes or no?
    7) Validation mainly focus on
    8) Verification mainly focus on
    9) What do you mean by port? Port Testing?
    10) In how many ways software companies do business?
    11) How service based companies do Business?
    12) How Product Based companies do Business?
    13) Is there any much difference for a Tester to Work in service Based and Product Based Companies?
    14) How a Product will become Successful in the Market?
    15) As a Tester what you will do in the Service Based and Product Based Companies?
    16) How any Company can grow successfully?
    17) Why we need to deliver a quality product?
    18) What is the ultimate goal of any company and how to achieve it?
    19) How can you say any software application is a quality application?
    20) Who will find defects and who will rectify defects?
    21) Explain what will happen after rectification of defect?
    22) Why any company is there in this world?
    23) Why customers need software?
    24) In how many ways customer approach software companies?
    25) How customers generally finalize and select Software Company?
    26) Explain the bidding process in your own words?
    27) How software companies get projects?
    28) What is the importance of software now a days explain with some examples?
    29) How much % of business now a days depending on software?
    30) If existing software’s does not work what will happen?

    Please any one can send me the answers.
    my mail id is roopadevi.btech@gmail.com

  19. good day sir,
    this is vamsi krishna ,I have joind in one software company in a web testing domain , as iam fresher i dont know about testing Exactly ,i would like survive here as an expert in web testing …for that kind of PRACTICE I MUST DO………?

  20. can any1 plzz answer of this…

    You are setting up a company that sells testing services to software houses. Make a strategic plan for your company taking into account the following issues:
    a)What is the testing process that will be followed in the company?
    b) What is the focus of the testing services ?
    c)What kind of people are you going to hire as staff for the company?
    d)How are you going to validate that a testing project carried out in the company has been benificial to the customer?
    e)What kind of automated tools will the company use?

    plzz answer of this questions…

  21. Hi this is nagaraju , i read this article this is really super, tomorrow i have an interview it ll too help ful to me thank you very much

  22. Hello sir, i am a 2013 passed out fresh graduate(ECE).and now i am doing a java course. actually i have a job offer,that company md have told me to learn this course,what is my question is how will be the starting days in the company like now i am understanding the concepts of this course, but after joining the company how will be the working environment? at the starting time they wii help me to do a projects or not please tell me soon sir

  23. hello sir ,
    i have thoeritical knowlegde in manual and automation testing . i am working in a company which has no srs or requirements . so i am wondering how can implement wat ever i have studied am mostly testing desktop applications . i want to check memory leak, functions,ui
    pls help
    thanks

  24. I am looking for a job in Software testing,i am a fresher, i have learn from google & your posts and I have theoretical knowledge of manual testing, can anyone help me for getting the job…
    Thanking you.
    Shivangi Gupta

  25. hi frnds,

    i am working in a it company , i need for how to testing the s/w in real time ,test cases,bug reports and best and simple automation tool knowledge how to build….pls help me

  26. hi frnds,

    i am working in a it company , i need for how to testing the s/w in real time ,test cases,bug reports and best and simple automation tool knowledge how to build….pls help me

  27. Hi..
    I want to create test cases of any web as well as apps project .ho to do because i have no idea for this and i have no live project please give me suggestion

  28. As Today is my first day of work as manual tester and this is a small organization with huge process.Here testing is started as I joined and I have to handle everything my self so I dont know anything practically so please help me out.Please let me know what is usecase,test case,documents,flow of project and how to write or prepare these..

  29. Hi , I am looking for a job in Software Testing field only,
    im hardly looking for a job, I dint get job anywhere.

    I dont no what topics should learn , what topics should’nt

    Please Help me out ….

    Regards

    Nirmala

  30. Hi , I am looking for a job in Software Testing field only,
    i am hardly looking for a job, I dint get job anywhere.

    I don’t no what topics should learn .

    Please Help me.

    Regards,

    Rahul Jain

  31. Hi,I Joined a new company there they testing a Mandatory field POPUP for a application through Manualy so it taking a long time so i want to know is there any method in QTP If it is there please inform me

    Regards
    Usha kunder

  32. hii
    I haven’t knowledge about testing process on live project and i never done testing on any project. plzzz any one can describe all the process which is require for testing and how manual testing performed on project and how to write test cases and how to execute sanity and smoke test and other testing method on project ????? b’coz i want to make my career in testing field.
    reply me on mail id devendrashah3107@gmail.com plzzz any one help me to provide knowledge

  33. One interviewer is asked me below question.

    What test process following in your project?

    can any one tell me exact answer for this

  34. Can anyone explain me following topics or where i can find information about following topics..??

    #Choice of Standards

    #Test Infrastructure Management

    #Test People Management

    #Integrating with Product Release

    #Collecting and Analyzing Test Metrics

Leave a Comment