In the Senior Design Center

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Test process essentials Riitta Viitamäki,
Acceptance Testing.
Test Automation Success: Choosing the Right People & Process
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Project Documentation and its use in Testing JTALKS.
Introduction to Software Testing
Terms: Test (Case) vs. Test Suite
Welcome to the CRE Programming Club! Robert Eckstein and Robert Heard.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management greene.com 1 Applied Software.
Software Testing. Definition To test a program is to try to make it fail.
Introduction Telerik Software Academy Software Quality Assurance.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Submission System & GIT + Testing Expectations Ignacio X. Domínguez Fall 2015.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
1 Legacy Code From Feathers, Ch 2 Steve Chenoweth, RHIT Right – Your basic Legacy, from Subaru, starting at $ 20,295, 24 city, 32 highway.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
T Iteration Demo Team 13 I1 Iteration
Confidential Continuous Integration Framework (CIF) 5/18/2004.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
July, 2008 Impati – Software Test Solutions. July, Contents Testing Service Overview and Approach Test Services and Industries Key Services Offering.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS491B Software Design Lab Writing Project Report Chengyu Sun California State University, Los Angeles.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
What is Software Test Automation?
Groupname [PP|…|FD] Iteration
Integration Testing.
John D. McGregor Session 9 Testing Vocabulary
SOFTWARE TESTING OVERVIEW
Software Testing.
Database Normalization
Gary Hughes, South Oakleigh College
Software Quality Assurance
Software engineering – 1
In the Senior Design Center
Applied Software Implementation & Testing
Advantages OF BDD Testing
John D. McGregor Session 9 Testing Vocabulary
CSC 492 Senior Design Projects Fall 2018 – Section 3 Ms
Commonapp.org #commonappready © 2015 The Common Application.
Introduction to Software Testing
Model Based Testing Venkata Ramana Bandari, Expert Software Engineer
Testing and Test-Driven Development CSC 4700 Software Engineering
Fundamental Test Process
A Few Review Questions.
In the Senior Design Center
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Coding Concepts (Basics)
CS240: Advanced Programming Concepts
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
CSE 303 Concepts and Tools for Software Development
Real Testing Scenario Strategy: The Role of Exploratory Testing
In the Senior Design Center
Test Driven Lasse Koskela Chapter 9: Acceptance TDD Explained
Automated test.
Applying Use Cases (Chapters 25,26)
Presentations 1/27/17.
Applying Use Cases (Chapters 25,26)
Proposed Approach and Considerations
Rapid software development
Java & Testing.
Test Cases, Test Suites and Test Case management systems
Agile Development.
Automated test.
Types of Software Testing Course. CONTENT  Black-box testing course  White-box software testing course  Automated software testing course  Regression.
Presentation transcript:

In the Senior Design Center Software Testing In the Senior Design Center few easy questions: 1. Why test software? 2. Can you ship untested software in industry?

Software Testing Why now? Development method may require it Opportunities to create a test plan as you develop Possible need to design for testing

What We Expect Your project includes a test plan Documented in your written reports With updates included in your oral reports What’s a test plan? “Oh, we definitely plan to thoroughly test our project.” “We’ll be using Selenium and JUnit to test our project.” Not a Test Plan Also Not a Test Plan

What We Expect Unit testing Acceptance testing Usually automated / easily repeatable Usually white-box tests So, you can use metrics like code coverage to show you’ve done a good job. Acceptance testing Usually manual (still repeatable, but with effort) You can automate yours, if you want. Usually black box tests of the whole system So, you can compare against requirements to show you’ve done a good job.

Acceptance Testing A suite of multiple acceptance test cases Usually a few for each functional requirement. Maybe a few supporting non-functional requirements Performance / resource usage? Response Time? These can be written early As you develop requirements Revised and extended as the requirements mature What does a test case look like?

(Bad) Acceptance Test Cases Test ID Description Expected Results Actual Results restaurantSearch1 Preconditions: The system is loaded. Jason is a registered user of the system. Jason has authenticated and is at the homepage. Steps: Enter a type of restaurant. System reports all the nearby restaurants of that type. (Even if they are not as expected, or not yet implemented) Unique IDs! Specific Steps and Results?

(Better) Acceptance Test Cases Test ID Description Expected Results Actual Results restaurantSearch1 Preconditions: The system is loaded. Jason is a registered user of the system. Jason has authenticated and is at the homepage. Steps: Enter “sushi” as the restaurant type. System reports all the nearby sushi restaurants. Still vague. Better

(OK) Acceptance Test Cases Test ID Description Expected Results Actual Results restaurantSearch1 Preconditions: The system is loaded. Jason is a registered user of the system. Jason has authenticated and is at the homepage. Steps: Enter “sushi” as the restaurant type. System reports: Sushi Hut (1 mile away) McSushi (3 miles away) Sushi King (4 miles away) Good But, how do you know you’ll get this?

Acceptance Testing Acceptance tests are usually supported by test data Created by the team Should be simple (so you and anyone else can tell what the right system behavior should be) Acceptance test plan should include Explanation of what you’re testing How to set up for each suite of tests What the test data is (are) like The table of test cases Discussion of test results.

Pro-Tip for Acceptance Testing Don’t copy-and paste From expected to actual results 

Pro-Tip for Acceptance Testing Don’t copy-and paste From expected to actual results  From one test case to another  This creates a maintenance problem.

Pro-Tip for Acceptance Testing Don’t copy-and paste From expected to actual results  From one test case to another  This creates a maintenance problem. Instead, maybe factor common steps into the test set-up.

Unit Testing With unit testing, we take advantage of what we know about the implementation. We have access to the source code We know how it’s organized into components We know the dependency structure So, we can do things we couldn’t do in acceptance testing We can test individual components (in an order that makes sense) We can measure code coverage (to see if we’ve done a good job)

Unit Testing Coverage expectations The Course Pack says to plan for 70% coverage But, the right coverage targets depend on the component under test You could achieve 100% code coverage … and still have bugs

Unit Testing Your project will probably have different components Maybe in different languages Maybe requiring different approaches to unit testing This is going to require some explanation Unit test plan should include Explanation of what you’re testing Explanation of your choice of testing tools How to run the unit tests Code coverage report Discussion of test results

Testing in OPR 1 You can report on: Testing strategy Testing tools Progress so far A glimpse into your acceptance test plan? Number of tests, how they’re organized, number passing? Preliminary unit test results? Number of tests, how they’re organized, coverage?

Testing in Senior Design Every project is different You’ll need to figure out the right way to assure the quality of your project With help from your sponsor … and your technical advisors This may include some additional forms of testing Performance testing? Usability testing? Stress testing? Ask questions and get help early Testing resources on the SDC website