Software Testing.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Testing Workflow Purpose
System Integration Verification and Validation
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Abirami Poonkundran 2/22/10.  Goal  Introduction  Testing Methods  Testing Scope  My Focus  Current Progress  Explanation of Tools  Things to.
Illinois Institute of Technology
Senior Design – Acceptance Test Plan Review The goal is to: define the criteria for approving the application. Tightly coupled to the Requirements document.
Introduction to Software Testing
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Terms: Test (Case) vs. Test Suite
Extreme Programming Software Development Written by Sanjay Kumar.
Software testing techniques Software testing techniques Testing based on specifications Presentation on the seminar Kaunas University of Technology.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Software Testing.
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Software Construction Lecture 18 Software Testing.
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
1 Presentation Title Test-driven development (TDD) Overview David Wu.
Software Engineering Saeed Akhtar The University of Lahore.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Testing and Evaluating Software Solutions Introduction.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
Manual Testing Concepts Instructor: Surender. Agenda  Content: 1. Testing Overview I. What is testing II. Who does testing III. When to Start Testing.
Asst.Prof.Dr. Wararat Songpan(Rungworawut)
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Testing Integral part of the software development process.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Introduction to Software Testing Part1 Summary & Terms
Items to consider before automating an application
Software Testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Testing Tutorial 7.
Software Testing.
TESTING TOOLS MANUAL APPROACH BY J.ADI SESHU.
SOFTWARE TESTING OVERVIEW
Software testing
Recall The Team Skills Analyzing the Problem
Requirements Analysis and Specification
Software engineering – 1
IS442 Information Systems Engineering
Advantages OF BDD Testing
Successful Website Accessibility Testing
Introduction to Software Testing
Introduction to Systems Analysis and Design
Testing and Test-Driven Development CSC 4700 Software Engineering
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
In the Senior Design Center
Software Requirements Specification Document
Chapter 10 – Software Testing
Welcome to Corporate Training -1
In the Senior Design Center
PART 2 LESSON XX Creating Test Cases
Software Testing.
Software Testing Lifecycle Practice
Test Cases, Test Suites and Test Case management systems
System analysis and design
An introduction into technical and functional testing
Testing, Inspection, Walkthrough
Presentation transcript:

Software Testing

What is Software Testing?

Types of Testing

Testing

Basic Testing Approaches

Types (Strategy) of Testing

Basic Testing

Basic Testing

White Box Testing - Applicability

UNIT TESTING

Unit & Integration Testing

Unit Testing Code Inspections Black-box Testing White-box Testing

Unit Testing

Unit Testing Different kinds of unit testing Code inspections

Unit Testing

Unit Testing

Integration Testing

Unit & Integration Testing

Purpose of Integration Testing Presumes previously tested units Tests functionality "between" unit and system levels Basis for test case identification Emphasis shifts from “how to test” to “what to test”

System Testing

System Testing System Testing is a level of the software testing where a complete and integrated software is tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements.

Hierarchy of Testing

What do you verify in System Testing ?

What do you verify in System Testing ? Testing the fully integrated applications  including external peripherals in order to check how components interact with one another and with the system as a whole. This is also called End to End testing  Verify thorough testing of every input in the application to check for desired outputs. Testing of the user's experience with the application

Different Types of System Testing There are more than 50 types of System Testing… Usability Testing - Usability testing mainly focuses on the user's ease to use the application, flexibility in handling controls and ability of the system to meet its objectives Load Testing - Load testing is necessary to know that a software solution will perform under real-life loads.

Different Types of System Testing (Cont.) Regression Testing- - Regression testing involves testing done to make sure none of the changes made over the course of the development process have caused new bugs. It also makes sure no old bugs appear from the addition of new software modules over time.

Different Types of System Testing (Cont.) Recovery Testing - Recovery testing is done to demonstrate a software solution is reliable, trustworthy and can successfully recoup from possible crashes. Migration Testing - Migration testing is done to ensure that the software can be moved from older system infrastructures to current system infrastructures without any issues.

Different Types of System Testing (Cont.) Functional Testing - Also known as functional completeness testing, functional testing involves trying to think of any possible missing functions. Testers might make a list of additional functionalities that a product could have to improve it during functional testing. Hardware/Software Testing - IBM refers to Hardware/Software testing as "HW/SW Testing". This is when the tester focuses his/her attention on the interactions between the hardware and software during system testing.

Manual Testing Tutorial

What is Manual testing? Manual Testing is a type of Software Testing where Testers manually execute test cases without using any automation tools. Any new application must be manually tested before its testing can be automated. Manual testing requires more effort, but is necessary to check  automation feasibility. Manual Testing does not require knowledge of any testing tool. One of the  Software Testing Fundamental is "100% Automation is not possible".

Goal of Manual Testing The key concept of Manual Testing is to ensure that the application is error free and it is working in conformance to the specified functional requirements. Test Suites or cases ,are designed during the testing phase and should have 100% test coverage. Checks the quality of the system Delivers bug-free product

Types of Manual Testing :

Manual Testing vs Automation Testing

Test Case Scenario

Introduction to Test Formality Testing is a very formal activity, and is documented in detail. The degree of formality depends on the type of application under test , standards followed by your organization ,& maturity of development process.

What is a Test Scenario? A Test Scenario is any functionality that can be tested. It is also called Test Condition or Test Possibility As a tester, you may put yourself in the end user’s shoes and figure out the real-world scenarios and use cases of the Application Under Test.

What is Scenario Testing? Scenario Testing is a variant of Software Testing where Scenarios are Used for Testing. Scenarios help in an Easier Way of Testing of the more complicated Systems

Why create Test Scenarios? Creating Test Scenarios ensures complete Test Coverage Test Scenarios can be approved by various stakeholders They serve as a quick tool to determine the testing work effort  For studying the end-to-end functioning of the program, Test Scenario is critical.

When not create Test Scenario? The Application Under Test is complicated, unstable and there is a time crunch in the project. Projects that follow Agile Methodology like Scrum, Kanban may not create Test Scenarios.

How to create a Test Scenario? Step 1: Read the Requirement Documents like BRS, SRS, FRS, of the System Under Test (SUT).  You could also refer uses cases, books, manual, etc. of the application to be tested. Step 2: For each requirement, figure out possible users actions and objectives. Step 3: After reading the Requirements Document and doing your due Analysis, list out different test scenarios that verify each feature of the software.

How to create a Test Scenario? Step 4: Once you have listed all possible Test Scenarios, a Traceability Matrix is created to verify that each & every requirement has a corresponding Test Scenario Step 5: The scenarios created are reviewed by your supervisor. Later, they are also reviewed by other Stakeholders in the project.

Tips to Create Test Scenarios Each Test Scenario should be tied to a minimum of one Requirement or User Story as per the Project Methodology. Before creating a Test Scenario that verifies multiple Requirements at once, ensure you have a test scenario that checks that requirement in isolation. Avoid creating overly complicated Test Scenarios spanning multiple Requirements.

Test Case

What is Test Case? A Test Case is a set of actions executed to verify a particular feature or functionality of your software application. Now, consider the Test Scenario Check Login Functionality there many possible cases like Test Case 1: Check results on entering valid User Id & Password Test Case 2: Check results on entering Invalid User ID & Password Test Case 3: Check response when User ID is Empty & Login Button is pressed, and many more

Format of Standard Test Cases

Best Practice for writing good Test Case Example. Test Cases need to be simple and transparent Use assertive language like go to home page, enter data, click on this and so on. This makes the understanding the test steps easy and test execution faster. Create Test Case with End User in Mind Avoid test case repetition Do not Assume Ensure 100% Coverage Peer Review Repeatable and self-standing

Automation Testing

Web Speed Test How important is website speed? The time it takes for your website to load to your visitors is very important. In fact, according to a survey, almost 50% of visitors expect a website to load in 2 seconds or less, and 40% of visitors abandon a website that takes more than 3 seconds to load.

Practical http://pagescoring.com/website-speed-test/

Results

Practical https://gtmetrix.com/

Results

Practical https://developers.google.com/speed/pagespeed /insights/

Practical nibbler.silktide.com

Results

Result

Some other Good Tools Selenium QTP Load Runner

Thanks !! Any Questions ??