Applied Software Testing

Slides:



Advertisements
Similar presentations
Testing  Testing is not important in school homework  Testing is not important in research work to produce experimental statistics for publishing paper.
Advertisements

Use-case Modeling.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Illinois Institute of Technology
(c) 2007 Mauro Pezzè & Michal Young Ch 24, slide 1 Documenting Analysis and Test.
SE 555 Software Requirements & Specification Requirements Validation.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Copyright  Larry Dribin, Ph.D. SE470_EngFlows_v1.ppt SE470 EngFlows - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage.
Course Technology Chapter 3: Project Integration Management.
Tester’s Role in Software Development and Acquisition Best Practice By Gabriel Rodriguez.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Senior Design – Acceptance Test Plan Review The goal is to: define the criteria for approving the application. Tightly coupled to the Requirements document.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Test Design Techniques
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Copyright Course Technology 1999
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management greene.com 1 Applied Software.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Engineering Chapter 12 The Generic Iteration Workflow Fall 2000.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Testing Life Cycle
Introduction Telerik Software Academy Software Quality Assurance.
RUP Implementation and Testing
Understand Application Lifecycle Management
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
1.  Describe an overall framework for project integration management ◦ RelatIion to the other project management knowledge areas and the project life.
Testing Workflow In the Unified Process and Agile/Scrum processes.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Software Development A Proposed Process and Methodology.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Use Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
Configuration Management
Software Configuration Management
Software Quality Control and Quality Assurance: Introduction
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Regression Testing with its types
Software Engineering (CSI 321)
Use Cases Discuss the what and how of use cases: Basics Benefits
Software Verification and Validation
Testing Process Roman Yagodka ISS Test Leader.
Configuration Management
IT Roles and Responsibilities
Software engineering – 1
Applied Software Implementation & Testing
Some Important Techniques For Regression Testing That You Must Know.
Air Carrier Continuing Analysis and Surveillance System (CASS)
SOFTWARE CONSTRUCTION AND TESTING
Design and Programming
Lecture 09:Software Testing
CLINICAL INFORMATION SYSTEM
Testing and Test-Driven Development CSC 4700 Software Engineering
CS240: Advanced Programming Concepts
Applied Software Project Management
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Chapter 3: Project Integration Management
Test Cases, Test Suites and Test Case management systems
Presentation transcript:

Applied Software Testing

Quality Quality means “conformance to requirements” The best testers can only catch defects that are contrary to specification. Testing does not make the software perfect. If an organization does not have good requirements engineering practices then it will be very hard to deliver software that fills the users’ needs, because the product team does not really know what those needs are.

Test Plans The goal of test planning is to establish the list of tasks which, if performed, will identify all of the requirements that have not been met in the software. The main work product is the test plan. The test plan documents the overall approach to the test. In many ways, the test plan serves as a summary of the test activities that will be performed. It shows how the tests will be organized, and outlines all of the testers’ needs which must be met in order to properly carry out the test. The test plan should be inspected by members of the engineering team and senior managers.

Test Cases A test case is a description of a specific interaction that a tester will have in order to test a single behavior of the software. Test cases are very similar to use cases, in that they are step-by-step narratives which define a specific interaction between the user and the software. A typical test case is laid out in a table, and includes: A unique name and number A requirement which this test case is exercising Preconditions which describe the state of the software before the test case (which is often a previous test case that must always be run before the current test case) Steps that describe the specific steps which make up the interaction Expected Results which describe the expected state of the software after the test case is executed Test cases must be repeatable. Good test cases are data-specific, and describe each interaction necessary to repeat the test exactly.

Test Execution The software testers begin executing the test plan after the programmers deliver the alpha build, or a build that they feel is feature complete. The alpha should be of high quality—the programmers should feel that it is ready for release, and as good as they can get it. There are typically several iterations of test execution. The first iteration focuses on new functionality that has been added since the last round of testing. A regression test is a test designed to make sure that a change to one area of the software has not caused any other part of the software which had previously passed its tests to stop working. Regression testing usually involves executing all test cases which have previously been executed. There are typically at least two regression tests for any software project.

Defect Tracking The defect tracking system is a program that testers use to record and track defects. It routes each defect between testers, developers, the project manager and others, following a workflow designed to ensure that the defect is verified and repaired. Every defect encountered in the test run is recorded and entered into a defect tracking system so that it can be prioritized. The defect workflow should track the interaction between the testers who find the defect and the programmers who fix it. It should ensure that every defect can be properly prioritized and reviewed by all of the stakeholders to determine whether or not it should be repaired. This process of review and prioritization referred to as triage.

Smoke Tests A smoke test is a subset of the test cases that is typically representative of the overall test plan. Smoke tests are good for verifying proper deployment or other non invasive changes. They are also useful for verifying a build is ready to send to test. Smoke tests are not substitute for actual functional testing.

Test Automation Test automation is a practice in which testers employ a software tool to reduce or eliminate repetitive tasks. Testers either write scripts or use record-and- playback to capture user interactions with the software being tested. This can save the testers a lot of time if many iterations of testing will be required. It costs a lot to develop and maintain automated test suites, so it is generally not worth developing them for tests that will executed only a few times.

Postmortem Reports The postmortem report is an overall account of the team’s experience in building the software, and of the experience of the users and stakeholders in working with the team. The report should contain an honest assessment of how the team members, users, and stakeholders perceived the end product, and assessed the decisions made throughout the project. The purpose of the post-mortem report is to highlight the team’s successes and identify any problems which should be fixed in future releases.