Software Testing Fundamentals

Slides:



Advertisements
Similar presentations
Testing and Inspecting to Ensure High Quality
Advertisements

Testing Relational Database
Welcome to eDMR This PowerPoint presentation is designed to show eDMR users how to login and begin using the eDMR system.
Test Design and Documentation. Test Design Test design is to ensure that all requirements are met through a series of test procedures, increasing the.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
1 Software Engineering Lecture 11 Software Testing.
Stoimen Stoimenov QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Software Testing.
Testing an individual module
DePaul Bears Try Your Luck!. Why buy this product? Approximately 1,000,000 cell phone users Approximately 2,000,000 or more people play the lottery New.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Equivalence Partitioning Identify the inputs, behaviors, or other factors that you want to test based on the functionality and specifications Group these.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
How To Batch Register Your Students
Diversey Rebates Distributor User Manual. Link: CLICK.
28/08/2015SJF L31 F21SF Software Engineering Foundations ASSUMPTIONS AND TESTING Monica Farrow EM G30 Material available on Vision.
LGC Website and Customer On-line Tools LGC RESOURCE 2014.
System/Software Testing
HTML5 Application Development Fundamentals
Problem Analysis and Program Design
Smart Data OnLine Training
Introduction Telerik Software Academy Software Quality Assurance.
1 DoD Cardholder Self Registration November 21, 2008.
Building a Culture of Quality, Real World Examples
SAM 2010 v1.5 Student Walkthrough. Initial Set Up 1.Ensure that you are connected to the Internet. 2.Launch your web browser (Internet Explorer 7 or 8,
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Software Testing. 2 CMSC 345, Version 4/12 Topics The testing process  unit testing  integration and system testing  acceptance testing Test case planning.
Our Sunday Visitor Parishioner List Upload Instructions.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
P6 BTEC Level 3 Subsidiary Diploma in ICT. Automation The end user of a spreadsheet may be proficient in using the software, but the more that you automate.
January 2008 National FFA Organization: Premier Leadership, Personal Growth, Career Success Finding Student Membership Numbers in PeopleSoft.
1 Presentation Title Test-driven development (TDD) Overview David Wu.
Intermediate 2 Computing Unit 2 - Software Development.
 Shopping Basket  Stages to maintain shopping basket in framework  Viewing Shopping Basket.
Copy of the from the secure website - click on the AccoridaLife.zip link.
MTA EXAM Software Testing Fundamentals : OBJECTIVE 6 Automate Software Testing.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
Module 1 VASC Websites Copyright 2006 VeriFone, Inc. All rights reserved. No part of this publication may be copied, distributed, stored in a retrieval.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Yahoo Help Phone Number Get Instant Help.
Proctor Caching and System Check September 4, 2014 Becky Hoeft Conference Number: (877) Conference Pin:
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Instructions for CATS Independence Tool
Dynamic Black-Box Testing Part 1 What is dynamic black-box testing? How to reduce the number of test cases using: Equivalence partitioning Boundary value.
 Learn the mechanics of using App Inventor to build apps.  Learn how to design an app’s user interface with the App Inventor Designer, and its behavior.
In today’s lesson we will be looking at: what we mean by the software development lifecycle the phases in the lifecycle We will focus particularly on testing:
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
/MDProStart /ProStartProgram
Software Testing.
Software Testing.
GOLD is money the rest is credit
Software Quality Assurance
Advantages OF BDD Testing
Successful Website Accessibility Testing
Battelle Supplier Onboarding
Google Classroom Setting Up Using a Computer.
CS240: Advanced Programming Concepts
A Guide to adding Sites and Blocks within ESTATE Manager
IMPORTANT NOTICE TO STUDENTS:
Chapter 3: Selection Structures: Making Decisions
Boolean Expressions to Make Comparisons
Chapter 3: Selection Structures: Making Decisions
Test Cases, Test Suites and Test Case management systems
Presentation transcript:

Software Testing Fundamentals MTA Exam 98-379 Software Testing Fundamentals

98-379: OBJECTIVE 3 Create Software Tests

LESSON 3.5 Define Appropriately Scoped Test Cases

overview Lesson 3.5 In this lesson, you will review the following: Boundary conditions Level of detail Validity

GUIDING questions Lesson 3.5 What is a boundary test? What is a “happy path” test case? What type of test generally requires detailed steps? Answers: Tests that focus on how the software behaves when data are at or near their minimum or maximum levels. A positive test; a test using data or inputs that are expected or typical. Manual test.

Lecture Lesson 3.5 Test case design considerations In many situations, the possible permutations of an application’s data—and the possible paths through the code—are very large. Consider an application that asks the user to input a few numbers. Theoretically, there are an infinite number of possible inputs! Therefore, developers and testers have to accept that complete testing may be impossible, or at least impractical. Test case design is about selecting test cases that have a high probability of catching most defects.

Lecture Lesson 3.5 Happy path test cases In test-driven development, including agile models, tests are written before a unit is coded. Often, the first tests created are for standard, expected data. For example, a developer creating a website login interface might start by creating some tests using valid username/password combinations— tests that are expected to pass. Some testers and developers refer to this as a happy path test case. While happy path tests are a valid starting point, additional tests are clearly necessary. For example, what happens when an invalid username is entered? Be sure students get the notion behind the name “happy path.” This is the test case that makes us (and our code happy)—we’re getting what it expects and what it was designed to use! Obviously, happy path test cases are not very useful for verifying our code, but it can be an important starting point for developers developing a new class or unit. Note: the term “happy path” can also be referred to as a positive test—a test that is expected to pass.

Lecture Lesson 3.5 Zero and null test cases In the case of numeric data, the unit should be tested for correct handling of zero values. Likewise, create tests to verify how null values are handled. In the case of strings, it may be advisable to test with an empty string (“”)

Lecture Lesson 3.5 Boundary test cases Boundary tests focus on how the software behaves when data are at or near their minimum or maximum levels. These boundary cases are also called edge cases. For example, if a method makes calculations based on a month entered by the user (1 for January, 2 for February, etc.), what happens if the month is 13? Other possible boundary cases for this scenario would be 12 (the highest valid value), zero, and negative numbers. In general, if values near boundaries are handled correctly, it is often the case that it should behave correctly in most other cases as well.

Lecture Lesson 3.5 Manual test cases Because manual test cases may be executed by different testers at different times, it is important that the include enough detail to ensure consistency. Manual test cases are broken down into discrete steps, each with a description of the action and the expected result. Visual Studio allows you to attach a file with additional details or a screen shot to assist the tester. The user login example might have a test case with these steps: “Click the sign-in link in the top right corner.” “Enter your user name into the prompt.”

Lecture Lesson 3.5 Manual test cases continued The user login example might have a test case with these steps: “Click the sign-in link in the top right corner.” “Enter your user name into the prompt.” “Type your password into the password prompt.” “Click the ‘Sign In’ button.”

Lecture Lesson 3.5 Exploratory testing Development teams sometimes supplement detailed testing with a more exploratory approach, allowing testers more freedom. In these test cases, directions may be much more general and feature-focused: “Sign in to the website.”

In-Class Activity Lesson 3.5 Scenario: In response to customer demands, Woodgrove Bank has hired a development team to create a new online banking application that is easier to use and with more features. It is a very involved project so testing at every step is critical. The first feature to be tested is the behavior of the Debit method of the BankAccount class. The team must be sure that only a valid amount (one that is less than the account balance and that is greater than zero) is withdrawn from the account. Directions: Before beginning of the activity, you will need to download the source code and copy it into your new project, as directed. Complete the Walkthrough: Creating and Running Unit Tests for Managed Code (http://msdn.microsoft.com/en-us/library/ms182532.aspx). The first section of the Walkthrough (“Prepare the walkthrough”) includes instructions for getting the necessary code. For your reference, here is a link to the code: http://msdn.microsoft.com/en-us/library/ms243176.aspx

In-class activity Lesson 3.5 Follow up: After completing the walkthrough activity, share your experiences with a partner. What difficulties did you experience? How did you resolve them? Identify three things you learned from this activity. Share student responses in a class discussion. Help students make connections between what they learned and how it applies to either the scenario or typical workplace activities. If there are unresolved difficulties, engage other class members in resolving the problems.

REVIEW Lesson 3.5 Can you answer these? What is a boundary test? What is a “happy path” test case? What type of test generally requires detailed steps? Answers: Tests that focus on how the software behaves when data are at or near their minimum or maximum levels. A positive test; a test using data or inputs that are expected or typical. Manual test.

ADDITIONAL RESOURCES Lesson 3.5 MSDN® Resources Manual System Tests http://msdn.microsoft.com/library/jj159334.aspx Black Box and White Box Testing for Application Blocks http://msdn.microsoft.com/en-us/library/ff649503.aspx Test Automation Code Review Guidelines http://msdn.microsoft.com/en-us/library/ff519670.aspx