Software Testing Lifecycle



Similar documents
MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info

Contents. -Testing as a Services - TaaS 4. -Staffing Strategies 4. -Testing as a Managed Services - TaaMS 5. -Services 6.

Software Quality Testing Course Material

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Presentation: 1.1 Introduction to Software Testing

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Software Engineering Question Bank

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

TestTrack Test Case Management Quick Start Guide

LDAP Authentication Configuration Appendix

SECTION 4 TESTING & QUALITY CONTROL

Levels of Software Testing. Functional Testing

Atomate Development Process. Quick Guide

IMPORTANCE OF SOFTWARE TESTING IN SOFTWARE DEVELOPMENT LIFE CYCLE

Software Testing Tutorial

Aspire's Approach to Test Automation

SA Tool Kit release life cycle

Testing Introduction. IEEE Definitions

Change Management Best Practices

RFP Attachment C Classifications

Metrics in Software Test Planning and Test Design Processes

MOBILE APPLICATION TESTING ENGINEER

Smarter Balanced Assessment Consortium. Recommendation

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Work Experience HP ALM (Quality Center), Bugzilla

Oracle Insurance Policy Administration System Quality Assurance Testing Methodology. An Oracle White Paper August 2008

Custom Software Development Approach

Importance of Testing in Software Development Life Cycle

Request for Proposal for Application Development and Maintenance Services for XML Store platforms

Continuous Integration Optimizing Your Release Management Process

Supporting GIS Best practices for Incident Management and Daily Operations

Recommendations for Performance Benchmarking

Benefits of Test Automation for Agile Testing

The Quality Assurance Centre of Excellence

Automated Testing Best Practices

Table of contents. Enterprise Resource Planning (ERP) functional testing best practices: Ten steps to ERP systems reliability

Cloud Testing Testing on the Cloud

SOFTWARE PERFORMANCE TESTING SERVICE

The Customer. Manual and Automation Testing for a leading Enterprise Information Management (EIM) Solution provider. Business Challenges

Project Lifecycle Management (PLM)

Performance Testing. What is performance testing? Why is performance testing necessary? Performance Testing Methodology EPM Performance Testing

Testhouse Training Portfolio

Comparative Study of Automated Testing Tools: Selenium, Quick Test Professional and Testcomplete

Latest Trends in Testing. Ajay K Chhokra

Software Testing Automation

Test Plan Template: (Name of the Product) Prepared by: (Names of Preparers) (Date) TABLE OF CONTENTS

Software Development: The Waterfall Model

CS 451 Software Engineering Winter 2009

ICAPRG529A Apply testing techniques for software development

CSUSB Web Application Security Standard CSUSB, Information Security & Emerging Technologies Office

Team Foundation Server

Business Application Services Testing

AGILE SOFTWARE TESTING

4.13 System Testing. Section 4 Bidder's Products, Methodology, and Approach to the Project System Training

Distributed Agile Development in the Cloud

Course Catalog for QA Software Testing Training

Magento Enterprise Edition Customer Support Guide

Effective Software Security Management

RUP Deployment. RUP Deployment Workflow RUP Deployment Artifacts & Deliverables

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

QA Classroom and Online training from Yes-M Systems

Th3 - Open Source Tools for Test Management

A Survey of Effective and Efficient Software Testing

Group18-CUCE2012. Mr. Mobile Project. Software Testing Plan (STP) Version: 4.0. CM Identifier: G18_SE004

Picasso Recommendation

MIS Systems & Infrastructure Lifecycle Management 1. Week 13 April 14, 2016

a new generation software test automation framework - CIVIM

Basic Testing Concepts and Terminology

Testing Tools Content (Manual with Selenium) Levels of Testing

December 21, The services being procured through the proposed amendment are Hosting Services, and Application Development and Support for CITSS.

<Insert Picture Here> When to Automate Your Testing (and When Not To)

Implementing Continuous Integration Testing Prepared by:

SECTION 2 PROGRAMMING & DEVELOPMENT

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Manual Testing Online Training Concepts : Software Testing Manual Module 1: Testing fundamentals. Introduction:

Streamlining BEA WebLogic Server Application Development. With VMware Infrastructure 3. With VMware Infrastructure 3

Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not.

Statement of Work. LabTech Implementation Bronze. LabTech Software 4110 George Road Suite 200 Tampa, FL 33634

Software Test Plan (STP) Template

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

Course: Fundamentals of Microsoft Server 2008 Active Directory

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle

Appendix 2-A. Application and System Development Requirements

Key Benefits of Microsoft Visual Studio Team System

Designing, Optimizing and Maintaining a Database Administrative Solution for Microsoft SQL Server 2008

Software Testing Interview Questions

User Roles & Adding Domains & Users

SOFTWARE TESTING - QUICK GUIDE SOFTWARE TESTING - OVERVIEW

Application Performance Testing Basics

Transcription:

STLC-Software Testing Life Cycle

SDLC

Software Testing Lifecycle Software Testing Life Cycle (STLC) defines the steps/ stages/ phases in testing of software. However, there is no fixed standard STLC in the world and it basically varies as per the following: Software Development Life Cycle Whims of the Management

Phases of STLC

Phases of STLC Requirements Analysis: You review the software requirements/ design. Test Plan: Once you have gathered a general idea of what needs to be tested, you plan for the tests. Test Design: Develop test cases for each part that needs to be tested based on the test requirements and design of the software.

Cont.. Test Environment Setup: You setup the test environment (server/ client/ network, etc) with the goal of replicating the end-users environment. Test Execution: You execute your Test Cases/ Scripts in the Test Environment to see whether they pass. Test Reporting: You prepare various reports like test evaluation summary, and a RTM if needed.

STLC deliverables

Component Testing Component Testing: Component testing is a method where testing of each component in an application is done separately. Example: Consider two web pages of a website. In one of the web pages there are certain fields like username, address, mobile no. etc in which data has to be entered. In the other (second) web page also there are certain fields which carry forward the data from the first page. Testing the functionality of these individual pages is called Component Testing.

Unit Testing Unit Testing: Individual components are tested to ensure that they operate correctly. Each component is tested independently without other system components. Unit tests are written and executed by software developers to make sure that code meets its design and requirements and behaves as expected. Method Used for unit testing: White Box Testing method is used for executing the unit test. When Unit testing should be done? Unit testing should be done before Integration testing. By whom unit testing should be done? Unit testing should be done by the developers.

Integration Testing Integration Testing: Integration testing allows individuals the opportunity to combine all of the units within a program and test them as a group. This testing level is designed to find interface defects between the modules/functions. For example you have to test the keyboard of a computer then it is a unit testing but when you have to combine the keyboard and mouse of a computer together to see its working or not than it is the integration testing. So it is prerequisite that for performing integration testing a system must be unit tested before.

System Testing System Testing: System testing is the first level in which the complete application is tested as a whole. The goal at this level is to evaluate whether the system has complied with all of the outlined requirements and to see that it meets Quality Standards. System testing is most often the final test to verify that the system to be delivered meets the specification and its purpose. System testing is carried out by testers. System testing should investigate both functional and nonfunctional requirements of the testing.

Functional Testing Testing the application against business requirements. Functional testing is done using the functional specifications provided by the client or by using the design specifications like use cases provided by the design team. Ex: Unit Testing, Integration Testing, Regression Testing Requirement-based testing: In this type of testing the requirements are prioritized. This will ensure that the most important and most critical tests are included in the testing effort. Business-process-based testing: In this type of testing the scenarios involved in the day-to-day business use of the system are described. It uses the knowledge of the business processes. For example, a personal and payroll system may have the business process along the lines of: someone joins the company, employee is paid on the regular basis and employee finally leaves the company.

Non-Functional Testing In non-functional testing the quality characteristics of the component or system is tested. Nonfunctional refers to aspects of the software that may not be related to a specific function or user action such as scalability or security. Eg. Performance Testing, Security testing, Load testing Non-functional testing is also performed at all levels like functional testing. Performance Testing,refers to testing done to analyze and improve the performance of an application. The focus here is on optimization of resource consumption by analyzing data collected during testing. Performance Testing to a certain extent should be done by developers, or separate performance team. In some organizations, the performance team is a part of the QA function. Load Testing refers to the kind of testing usually done by QA/Perfomancetest team to ensure that the application can handle a certain load level. Criteria are set to ensure that releases of a product meet certain conditions like the number of users they can support while delivering a certain response time. Scalability Testing refers to performance testing that is focused on understanding how an application scales as it is deployed on larger systems and/or more systems or as more load is applied to it. The goal is to understand at what point the application stops scaling and identify the reasons for this. Scalability testing can be viewed as a kind of performance testing. focuses on the performance of your Web sites, hardware and software products.

Acceptance Testing Acceptance testing: Acceptance testing (or User Acceptance Testing), is conducted to determine whether the system is ready for release i.ewhether the system meets the specified business needs. Example: When a mobile application is set to release, all the functionality is tested to match the specified business needs and requirements.

Alpha and beta testing Alpha Testing: Alpha testing performed by Testers, who are usually internal employees of the organization, at the developer s location. Alpha testing involves both the white box and black box techniques. Beta Testing: Beta testing is performed by Clients or End users, who are not employees of the organization, at Client location. Beta Testing typically uses black box testing.

Regression testing Regression testing: Regression testing is a type of software testing that seeks to uncover new software bugs, or regressions, in existing functional and non- functional areas of a system after changes such as enhancements, patches or configuration changes, have been made to them.

Regression testing example For Example there are three Modules in the Project named Admin Module, Personal Information, and Employment Module and suppose bug occurs in the Admin Module like on Admin Module existing User is not able to login with valid login credentials so this is the bug. Now Testing team sends the above - mentioned Bug to the Development team to fix it and when development team fixes the Bug and hand over to Testing team then testing team checks that fixed bug does not affect the remaining functionality of the other modules (Admin, PI, Employment) and also the functionality of the same module (Admin) so this is known as the process of regression testing done by Software Testers.

Validation Validation:Validation is the process of evaluating the final product to check whether the software meets the business needs. Following item is evaluated during Validation: Actual product or Software under test. Ex: Smoke testing, Functional testing, Regression testing

Verification Verification: Evaluates the intermediary products to check whether it meets the specific requirements of the particular phase. Intermediary products requirement specifications, design documents, ER diagrams etc. Following items are evaluated during Verification: Plans, Requirement Specifications, Design Specifications, Code, Test Cases etc, Validation is the process of checking whether the specification captures the customer s needs, while verification is the process of checking that the software meets the specification.

User Story A user story is a document in Agile software development terms to capture a description of a software feature from an end-user perspective. The user story describes the type of user, what they want and why. A user story helps to create a simplified description of a requirement