Quality Assurance and Project Management:

software testing procedure

Sep 29 2008   10:44AM GMT

Role of tester while verifying the closure of bugs



Posted by: Jaideep
software quality assurance, software testing, Project Management, software, software quality, Quality Assurance, SDLC, software qa, Project Lifecycle, software testing cycle, Software testing methodologies, software testing procedure, software testing process, software testing projects, software testing tips, softwaretesting, STLC, tester

When a product gets completed, it is released for testing to QC department along with the relevant documents. The QC department based on the scope of testing, availability of testers and the time at which the product is estimated to be released to customer, prepares its test plan. After studying the business and customer requirements, test cases and test scenarios are built by testers, based on which bugs or defects are reported. Once the bugs report (or defects report) is released to development team by the testing team, it is the development team that comes into the action. They based on the category, validity of a bug divide among themselves the bugs to be fixed and inform the testing team the estimated time required to close or address all the bugs/ defects. Once all the defects are fixed, the product goes back to testing team, for verification of closure of bugs.

The question arises here is that what is now the scope of testers for a re-released product. Does it suffice the purpose if testers just validate the closure of bugs? No, it is never going to be a fool-proofed product. What about the complete re-testing of the product for the two main purposes:

  • 1. The bugs skipped in the earlier round of testing
    2. The new bugs arisen during the fixing the earlier bugs reported.
  • This is very crucial phase and the testing in this phase needs to be more exhaustive and extensive than the earlier round of testing.

    Sep 15 2008   10:56AM GMT

    Why build a test environment for software testing?



    Posted by: Jaideep
    software quality assurance, software testing, software, Development, software quality, Quality Assurance, Software testers, software qa, software testing procedure, software testing process, software testing tips, tester, testing environment, software testing environment

    In continuation to my previous blog – “what is a test environment?”, let us understand here why a test environment is required for testing a software product? I see two major purposes for this, one purpose catering to customer end, and the second purpose catering to the vendor end quality testing team.

    The vendor or supplier who is preparing or supplying a software product to its customer must be very clear that in what environment his customer is planning to run this product. The environment could be the hard side – i.e. the hardware configuration comprising of hardware server and users PC components viz – hard disk size, its speed, RAM – size and speed, Processor, bus speed etc. in the soft side it will comprise of the Server/ Users PCs Operating System and its version, OS Patches requirements, Browser – which all browsers are supported and which versions, IIS server specifications at server end, Database Server – What database and which version or release. Any other software components required at server or users computers. The purpose is to run this software as if it is being used by the client at his site. In a way it is the simulation of client site.

    The second purpose to have the test environment separate to development environment is to restrict developer’s intervention in test environment during the test phase. This is to be done so that the test results are clear, real and non-ambiguous.

    Any other reason coming to the mind while reading this blog that comes to my readers – is most welcome in the comments section.


    Aug 14 2008   10:35AM GMT

    Twelve essential Steps of Software Testing Life Cycle (STLC)



    Posted by: Jaideep
    software quality assurance, software testing, Project Management, software quality, Quality Assurance, software engineering, Software testers, SDLC, software qa, Project Lifecycle, software testing cycle, Software testing methodologies, software testing procedure, software testing process, software testing projects, software testing strategy, software testing tips, softwaretesting, STLC

    STLC (Software Testing Life Cycle) is an integral component of SDLC (Software Development Life Cycle). Gone are the times when any software was made on the basis of its requirements and the moment it used to get completed by the development team, it got released to the customer. But now, Testing has become a distinct phenomenon during and after the development of software. No software is released to the customer without a comprehensive testing by QC or Testing team in the organization. The Scope and Methodology may vary from product to product, customer to customer, and organization to organization. There are certain aspects of Software Testing Life Cycle. To name top few among them, I would like to list twelve essential steps of Software Testing Life Cycle.

    The Steps are to be followed from the start of Testing of software to the end of the testing as follows:
    1- Before the dynamic testing, there is a static testing. Static testing includes review of documents required for the software development. This includes following activities:

    (a) All the documents related to customer requirements and business rules that are required
    for software design and development should be handed over to QA. These documents
    should be complete and dually signed by client and representative of the company
    (usually Project Manager).

    (b) QA reviews these documents. The reviewing of documents includes comprehensive and
    thorough study of the documents. If any discrepancy is found then it should be noted
    and raised in the review meeting with the Development team.

    (c) After this there should be a formal meeting between the QA and development team
    regarding these documents, the agenda of this meeting mainly includes what is missing in
    the document, QA queries to be answered by Development/Project Team and/or
    clarification required for any confusions.

    2- After the Software development or build of a module, QA starts dynamic testing. If during the development the requirement has been changed on customer demand or due to any other reason, then that should be documented and a copy of this revised document is given to the QA and also discussed as explained in point 1 above.

    3- Development and Testing environment should be made clear to the QA by the Development team. It include the following activities:
    (a)- Server to hit for Testing
    (b)- Installation of latest build on the test server.
    (c)- Modules/Screens to test.
    (d)- Test duration as decided by test manager and project manager mutually based on scope
    of work and team strength.
    (e)– Demo of the software on test server by development team to the QC members.

    4- After this Test cases and test scenarios are prepared and then the Test execution by QC.

    5- A comprehensive Report of Bugs is prepared by the Testers and a review/verification by QC/QA/Testing Head takes place. Before handing over this report to Development Team there is a thorough review of Bugs List by Test Manager and in case of any clarification required on a bug submitted, the Testing Head discusses the bugs with the assigned tester.

    6- Release of bug report by QC Team to Development Team.

    7- Discussion/simulation of bugs by QC with development team if development team requires and time required for fixing the bugs should be made clear by Dev team at this stage.

    8- Feedback from Development team on reported bugs with the stipulated time frame required to fix all bugs.

    9- Any changes in the software being made in respect to fix these bugs should be made clear to the QA team by the Development team.

    10- Testing team then Retests or verifies the bugs fixed by the development team.

    11- Submitting the retesting bug report to the Test manager and after this the step 5 to step 10 are followed until the product has reached a stage where it can be released to customer.

    12- Criteria for ending the testing should be defined by management or Test Manager Like when all major bugs are reported and fixed. Major bugs mean the bugs that affect the Business of the Client.


    Aug 12 2008   11:00AM GMT

    Eight Checkpoints for Testers during Software Testing



    Posted by: Jaideep
    software quality assurance, software testing, Project Management, Development, software quality, Quality Assurance, software engineering, Software testers, SDLC, software qa, software testing cycle, Software testing methodologies, software testing procedure, software testing process, software testing projects, software testing strategy, software testing tips, softwaretesting

    Testing is a process of facilitating development team/ project team in improving the quality of software before it is released to the customer for use. Some key essential steps are always there that need to be followed by the Testers during Software Testing to streamline the process. The most important checkpoints for testers during software testing, in my opinion, would be:

    (1)- Complete document of customer and business requirements specifying all the requirements for the development of the product.

    (2)- Latest completed build and URL of the application to hit for Testing.

    (3)- Software requirements for installing the application on PCs for testing or for database connectivity.

    (4)-Training/Demo of the project by development team to Testing Team so as to understand the flow/functionality of the software.

    (5)- Scope of testing should be made clear by the development team/Head.

    (6)- If the build comes for retesting, then it should be accompanied by the revised document which includes the updated changes incorporated in the software.

    (7)- Clarity regarding which member of development team should be contacted in case of any clarification required during the testing phase regarding the functionality of the module or if testers encounter a showstopper in the Software.

    (8)- After release of the bugs list to development team, how much time they will require for fixing the bugs.