In the Senior Design Center

Slides:



Advertisements
Similar presentations
Test Automation Success: Choosing the Right People & Process
Advertisements

1 Software Engineering Lecture 11 Software Testing.
Project Documentation and its use in Testing JTALKS.
Software Testing Prasad G.
Introduction to Software Testing
Terms: Test (Case) vs. Test Suite
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management greene.com 1 Applied Software.
Test Organization and Management
TESTING.
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.
Software Testing White Box Testing. Agenda What is White Box Testing Correctness Tests and Path Coverage Correctness Tests and Line Coverage McCabe Cyclomatic.
July, 2008 Impati – Software Test Solutions. July, Contents Testing Service Overview and Approach Test Services and Industries Key Services Offering.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Environment & Education & More Dan Bothell. Overview Data Teaching Materials Environment Other ACT-R 5.0 and RPM issues.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
In the Senior Design Center
Testability.
Groupname [PP|…|FD] Iteration
Software Engineering (CSI 321)
Integration Testing.
SOFTWARE TESTING OVERVIEW
Software Testing.
Database Normalization
Test Driven Development
Work Experience.
Recall The Team Skills Analyzing the Problem
Software Quality Assurance
Software engineering – 1
In the Senior Design Center
Applied Software Implementation & Testing
Advantages OF BDD Testing
Personnel Effort Budget
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.
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
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
Agile testing for web API with Postman
In the Senior Design Center
Topic 5: Communication and the Internet
Software Requirements
Test Driven Lasse Koskela Chapter 9: Acceptance TDD Explained
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.
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?

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

Senior Design Center - Fall 2015 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 Senior Design Center - Fall 2015

Senior Design Center - Fall 2015 What We Expect Unit 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. Senior Design Center - Fall 2015

Senior Design Center - Fall 2015 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? Senior Design Center - Fall 2015

(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?

Senior Design Center - Fall 2015 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. Senior Design Center - Fall 2015

Pro-Tip for Acceptance Testing Don’t copy-and-paste From expected to actual results  Senior Design Center - Fall 2015

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. Tests should be independent of each other Senior Design Center - Fall 2015

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. Tests should be independent of each other Instead, maybe factor common steps into the test set-up. Senior Design Center - Fall 2015

Senior Design Center - Fall 2015 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) Senior Design Center - Fall 2015

Senior Design Center - Fall 2015 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 Senior Design Center - Fall 2015

Senior Design Center - Fall 2015 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 Senior Design Center - Fall 2015

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?

Traceability to Requirements The quantity of black-box tests is not important! Instead: are you thoroughly testing against the requirements? A mapping of test cases to requirements can identify areas that need more testing traceability matrix is one option FR 1.1 FR 1.2 UC2-S3 UC3-AF1 testID1 X testID2 testID3 testID4 Senior Design Center - Fall 2015

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 Senior Design Center - Fall 2015