Software Testing Life Cycle

Similar documents
Testing Masters Technologies

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer STLC

Software Testing(TYIT) Software Testing. Who does Testing?

Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

ISTQB CTFL BH QuestionsAnswers with Explanation

Testing. CxOne Standard

Digital Industries Apprenticeship: Occupational Brief. Software Tester. March 2016

SYSTEM MODERNIZATION BEST PRACTICES

Fundamentals Test Process

The Software Quality Center of Excellence

This document describes the overall software development process of microcontroller software during all phases of the Company Name product life cycle.

PLM APPLICATION TESTING

Software Development Life Cycle:

Test Management Test Planning - Test Plan is a document that is the point of reference based on which testing is carried out within the QA team.

ISTQB Certified Tester. Foundation Level. Sample Exam 1

FAQ: Implementation Complete Phase

REQUIREMENT DRIVEN TESTING. Test Strategy for. Project name. Prepared by <author name> [Pick the date]

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

Cost of Changing the Activities in SDLC. Minimum of Cost at this level. code debuging unit test integration. Activity

The 13th Annual International Software Testing Conference in India

Quality Assurance Analyst II

WORK PLAN AND IV&V METHODOLOGY Information Technology - Independent Verification and Validation RFP No IVV-B

Introduction. Fundamental concepts in testing

T Software Testing and Quality Assurance Test Planning

A Review Paper on Software Testing

VC SOFTWARE PROJECT MANAGEMENT PLAN

Summary of TL 9000 R4.0 Requirements Beyond ISO 9001:2000

Implementing an Automated Testing Program

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages

1. Can you explain the PDCA cycle and where testing fits in?

Software configuration management

Instrument Control System Project Management

How mature is my test organization: STDM, an assessment tool

Skill Category 7. Quality Control Practices

Integration and Testing

Building an Enterprise QA Centre of Excellence Best Practices Discussion IBM Corporation

ADVISORY CIRCULAR AC

Software Testing Level Part 2. Adam Hendra Brata

PRES The Effects of Software Process Maturity on Software Development Effort

CRM System Tester. Location London Department Supporter and Community Partnerships. CRM Project Manager Salary Band C

Software Quality Assurance and Testing STUDY NOTES

Program Lifecycle Methodology Version 1.7

It s time to be more Optimistic about Negative Testing 12 th Annual International Software Testing Conference Saroj Patnaik 20-October-2012

Technical Integration Testing Requirements. Trusted Digital Identity Framework August 2018, version 1.0

Stat Production Services for Oracle E-Business Suite (Onsite and Remote)

Led by the Author Attended by a peer group Varying level of formality Knowledge gathering Defect finding

PART THREE: Work Plan and IV&V Methodology (RFP 5.3.3)

CSV Inspection Readiness through Effective Document Control. Eileen Cortes April 27, 2017

ISTQB-Level1 ASTQB. American Software Testing Qualifications Board Level 1

Stat Production Services for PeopleSoft (Onsite and Remote)

Appendix C: MS Project Software Development Plan and Excel Budget.

Agile Test Plan How to Construct an Agile Test Plan

Surviving the Top Ten Challenges of Software Testing

Medidata Clinical Cloud (MCC) Validation

Testing throughout the software life cycle. Software Testing: INF3121 / INF4121

QUEST Boston Full Lifecycle Testing of Commercial off the Shelf (COTS) Software. Thursday, April 7 th, :00 AM 12:00 PM

International Journal of Advanced Research in Computer Science and Software Engineering

WHITE PAPER. LEVERAGING A TESTING METHODOLOGY TO ENSURE HIGH QUALITY BANKING APIs. Venkata Griddaluri IBS Open APIs Manager of Quality Assurance

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Observatory Control System Project Management

Subject : Computer Science. Paper : Software Quality Management. Module : Quality Management Activities Module No: CS/SQM/15

NCOVER. ROI Analysis for. Using NCover. NCover P.O. Box 9298 Greenville, SC T F

Also we will try to recap what we studied in the last class. (Refer Slide Time: 00:35)

TESTING COTS APPLICATIONS

Project Management Knowledge Areas SECTION III

Quantifying the Value of Investments in Micro Focus Quality Center Solutions

Project Remedies Solution Set s Ability to Transform your IT Organization. A Selection of Use Cases from Project Remedies Inc.

Cambridge University Press Agile Testing: How to Succeed in an Extreme Testing Environment John Watkins Excerpt More information

PROJECT MANAGEMENT. Quality Management (QM) Course 7 Project Management Knowledge Areas (5) Risk Management (RM)

Testing Phases Conference Room Pilot

E-BOOK. Five signs you need a modern DevOps solution

ITIL Intermediate Lifecycle Stream:

The SaaS LMS and Total Cost of Ownership in FDA-Regulated Companies

Buy:

Intermediate Certificate in Software Testing Syllabus. Version 1.4

Test Management: Part I. Software Testing: INF3121 / INF4121

Carry out automated tests on software products/applications/modules

Information Technology Independent Verification and Validation

7. Model based software architecture

Feature Articles: Software Development Technologies

Challenges of Managing a Testing Project: (A White Paper)

Before we begin, let s talk briefly about why GIS data quality is important.

6.1 Introduction Objective Acceptance Testing CHAPTER 7: Black Box Testing Introduction Objectives...

Testing and Quality Assurance Techniques

SPARK Forms Builder Service Subscription SOFTWARE SUPPORT AND MAINTENANCE AGREEMENT

Validation and Automated Validation

NetVault Backup System Administration Complete Instructorled

SC119 Umoja Plant Maintenance Overview. Umoja Plant Maintenance Overview Version 7 1

Australia and New Zealand Testing Board. Testing as a Service. Carol Cornelius ANZTB Capital Quality Consulting

Oh No, DevOps is Tough to Implement!

Test Metrics: A Practical Approach to Tracking & Interpretation

THIS IS ONLY MODEL RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE. Name: xxxxxx ID: xxxxxx Ph: xxxxxx

Data Warehousing provides easy access

DORNERWORKS QUALITY SYSTEM

ALM120 Application Lifecycle Management 11.5 Essentials

PMP Exam Prep Coaching Program

Asset Manager 9.3 Upgrade

A Guide to the Business Analysis Body of Knowledge (BABOK Guide), Version 2.0 Skillport

Transcription:

Software Testing Life Cycle STLC (Software Testing Life Cycle) is an integral component of SDLC (Software Development Life Cycle). 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. The Software Testing Life Cycle, (STLC), is the road map to a product success. QALAB consists of a set of phases that define what testing activities to do and when to do them. It also enables communication and synchronization between the various groups that have input to the overall testing process. Software testing life cycle identifies what test activities to carry out and when (what is the best time) to accomplish those test activities. Even though testing differs between organizations, there is a testing life cycle. Software Testing Life Cycle consists of six (generic) phases: 1. Test Planning, 2. Test Analysis, 3. Test Design, 4. Construction and verification, 5. Testing Cycles, 6. Final Testing and Implementation and Post Implementation. Software testing has its own life cycle that intersects with every stage of the SDLC. The basic requirements in software testing life cycle is to control/deal with software testing Manual, Automated and Performance. Test Planning This is the phase where Project Manager has to decide what things need to be tested, do I have the appropriate budget etc. Naturally proper planning at this stage would greatly reduce the risk of low quality software. This planning will be an ongoing process with no end point. 1 / 10

Activities at this stage would include preparation of high level test plan. The Software Test Plan (STP) is designed to prescribe the scope, approach, resources, and schedule of all testing activities. The plan must identify the items to be tested, the features to be tested, the types of testing to be performed, the personnel responsible for testing, the resources and schedule required to complete testing, and the risks associated with the plan.). Almost all of the activities done during this stage are included in this software test plan and revolve around a test plan. Test Analysis Once test plan is made and decided upon, next step is to delve little more into the project and decide what types of testing should be carried out at different stages of SDLC, do we need or plan to automate, if yes then when the appropriate time to automate is, what type of specific documentation I need for testing. Proper and regular meetings should be held between testing teams, project managers, and development teams, Business Analysts to check the progress of things which will give a fair idea of the movement of the project and ensure the completeness of the test plan created in the planning phase, which will further help in enhancing the right testing strategy created earlier. We will start creating test case formats and test cases itself. In this stage we need to develop Functional validation matrix based on Business Requirements to ensure that all system requirements are covered by one or more test cases, identify which test cases to automate, begin review of documentation, i.e. Functional Design, Business Requirements, Product Specifications, Product Externals etc. We also have to define areas for Stress and Performance testing. Test Design Test plans and cases which were developed in the analysis phase are revised. Functional validation matrix is also revised and finalized. In this stage risk assessment criteria is developed. If you have thought of automation then you have to select which test cases to automate and begin writing scripts for them. Test data is prepared. Standards for unit testing and pass / fail criteria are defined here. Schedule for testing is revised (if necessary) & finalized and test environment is prepared. 2 / 10

Construction and verification In this phase we have to complete all the test plans, test cases, complete the scripting of the automated test cases, Stress and Performance testing plans needs to be completed. We have to support the development team in their unit testing phase. And obviously bug reporting would be done as when the bugs are found. Integration tests are performed and errors (if any) are reported. Testing Cycles In this phase we have to complete testing cycles until test cases are executed without errors or a predefined condition is reached. Run test cases --> Report Bugs --> revise test cases (if needed) --> add new test cases (if needed) --> bug fixing --> retesting (test cycle 2, test cycle 3.). Final Testing and Implementation In this we have to execute remaining stress and performance test cases, documentation for testing is completed / updated, provide and complete different matrices for testing. Acceptance, load and recovery testing will also be conducted and the application needs to be verified under production conditions. Post Implementation In this phase, the testing process is evaluated and lessons learnt from that testing process are documented. Line of attack to prevent similar problems in future projects is identified. Create plans to improve the processes. The recording of new errors and enhancements is an ongoing process. Cleaning up of test environment is done and test machines are restored to base lines in this stage. 3 / 10

Areas to consider during the Software Testing Lifecycle. Planning and Control Implementing an effective planning and control solution for your testing activities will promote efficiency, improve communications and organizational structure. Better planning and control means fewer mistakes. Manual Testing Despite the proliferation of automated solutions, manual testing still accounts for more than half of all testing. Imagine what life would be like if you could cut the time you spent on manual testing by half. With Original Software this dream is now reality with the revolutionary Test Drive-Assist, a solution specifically designed to assist manual testing. Test Data Management (TDM) Test Data Management (TDM) is fundamental to the success of your data strategy; after all, data drives the entire testing procedure. With bad data comes poor testing, results you cannot trust, and a whole lot of wasted time, money and effort. It pays to get the data management right. Software Test Automation Effectively deployed software automation solutions can have a significantly positive affect on functional and regression testing timescales. With code free technology and self- updating scripts, you can be assured that your testing assets will be re-usable, easy to use, easy to manage, and virtually maintenance free. Unlike some other tools we could mention. 4 / 10

Load Testing Replicating the behavior on an application under stress can help avoid machine overloads, unnecessary infrastructure investments and the implementation of enhancements that fail to scale up. An effective load test will provide assurances that your application or website will cope with heavy simultaneous usage without crashing. Results, Reporting & Corporate Governance For many corporate compliance mandates, and for general testing best practice, it is key that your company develops its own IT best practice methodology. A QA plan that formalizes how you company handles change to software systems. This means that for every system change you must be able to show what was tested, when it was tested, how, by whom, what were the results, how many defects were there, and how they were rectified before going live. Software Testing Life Cycle Flow The Steps are to be followed from the start of testing of software to the end of the testing are 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. (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 5 / 10

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 includes 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 of work and team strength. (e) Demo of the software on test server by development team to the QC members. scope 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 Development team at this stage. 6 / 10

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. Terminologies in STLC 1. Test Strategy: Test Strategy is a Document, developed by the Project manager, which contains what type of technique to follow and which module to test. 2. Test Plan: Test plan is a Document, developed by the Test Lead, which contains "What to Test, How to Test", "When to Test", "Who to Test". 3. Test Scenario: A name given to Test Cases is called Test Scenario. This Test Scenario was done by the Test Engineer. 7 / 10

4. Test Cases: It is also document and it specifies a Testable condition to validate functionality. These Test Cases are deal by the Test Engineer. Sample testing cycle followed in any organization. 1. Requirements analysis: Testing should begin in the requirements phase of the software development life cycle. During the design phase, testers work with developers in determining what aspects of a design are testable and with what parameters those tests work. 2. Test planning: Test strategy, test plan, test bed creation. Since many activities will be carried out during testing, a plan is needed. 3. Test development: Test procedures, test scenarios, test cases, test datasets, test scripts to use in testing software. 4. Test execution: Testers execute the software based on the plans and tests and report any errors found to the development team. 8 / 10

5. Test reporting: Once testing is completed, testers generate metrics and make final reports on their test effort and whether or not the software tested is ready for release. 6. Test result analysis: Or Defect Analysis, is done by the development team usually along with the client, in order to decide what defects should be treated, fixed, rejected (i.e. found software working properly) or deferred to be dealt with later. 7. Defect Retesting: Once a defect has been dealt with by the development team, it is retested by the testing team. 8. Regression testing: It is common to have a small test program built of a subset of tests, for each integration of new, modified, or fixed software, in order to ensure that the latest delivery has not ruined anything, and that the software product as a whole is still working correctly. 9. Test Closure: Once the test meets the exit criteria, the activities such as capturing the key outputs, lessons learned, results, logs, documents related to the project are archived and used as a reference for future projects. Summary and Conclusion 9 / 10

Successfully developed and tested software will eventually become part of a product and enter a maintenance phase, during which the software will undergo modification to correct errors and to comply with changes to requirements. Like the initial development, modifications will follow a software development lifecycle, but not necessarily using the same lifecycle model as the initial development. Hence throughout the Software Testing Lifecycle (STL), quality assurance checks need to be carried out to ensure our new or upgraded application is error and risk free. Different stages of the STL require very different QA checks. Regardless of what stage we are at, whether it be at the initial planning stage or at the final reporting and auditing stage, we can be confident that Original Software will have a solution for us. 10 / 10