Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.

Slides:



Advertisements
Similar presentations
By Rohen Shah – rxs07u.  Introduction  Different methodologies used  Different types of testing tools  Most commonly used testing tools  Summary.
Advertisements

Testing and Debugging CS221 – 2/13/09. Airline Program.
Illinois Institute of Technology
Quality Assurance CS 615. Mission Statement The Quality Assurance team will provide assurance to stakeholders in CS-615/616 projects that their projects.
Testing Team exercise Have each team member contribute answers: –Do you test your code? If no, why not? If yes: When? How? How often? –What is your team’s.
Design and Planning Presenter: Mike Team Members: Casey Kaushik Danny.
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Introduction to Software Testing
Software Testing & Strategies
U-Mail System Design Specification Joseph Woo, Chris Hacking, Alex Benson, Elliott Conant, Alex Meng, Michael Ratanapintha April 28,
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Selecting a Tool 1 When to start evaluating: Current method is not effective Can solve an immediate problem/challenge Can increase productivity and deliverables.
Terms: Test (Case) vs. Test Suite
1 CSE 403 System Testing Reading: various web sites about Selenium! These lecture slides are copyright (C) Marty Stepp, They may not be rehosted,
Jessan - Google test driven development user profiles skeleton up quickly, then flesh out scalable in many dimensions code reviews work on the hardest.
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
1 CSE 403 System Testing and Test Plans These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed.
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Software Testing. Definition To test a program is to try to make it fail.
TESTING.
Pragmatic Projects Prepared by Doug Glidden. Pragmatic Projects Pragmatic Teams Ubiquitous Automation Ruthless Testing It’s All Writing Great Expectations.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Object-Oriented Software Engineering, Ch. 9
The Joel Test 12 Steps to Better Code. Readings The Joel Test (by Joel Spolsky) 043.html.
1 Lecture 19 Configuration Management Software Engineering.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Software Testing. What is Software Testing? Definition: 1.is an investigation conducted to provide stakeholders with information about the quality of.
 CS 5380 Software Engineering Chapter 8 Testing.
CS 350, slide set 10 M. Overstreet Old Dominion University Spring 2006.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
Virtis-Opis Beta Testing Todd S. Thompson, PE South Dakota DOT Office of Bridge Design August 3, 2011.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
CSE 403, Spring 2008, Alverson Estimation What to say when asked for an estimate “I’ll get back to you” Pragmatic Programmer Deadly sins material adapted.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
CSE 403 Lecture 27 Course Wrap-up Discussion slides created by Marty Stepp
1 CSE 403 Testing Reading: Code Complete, Ch. 22 (McConnell) Object-Oriented Software Engineering, Ch. 9 (B. Bruegge, A. Dutoit) These lecture slides are.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
CSE 403, Spring 2007, Alverson Quality Assurance Pragmatic Programmer Tip Think about Your Work Turn off the autopilot and take control. Constantly critique.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
CSE 403, Spring 2008, Alverson CSE 403 Software Engineering Pragmatic Programmer Tip: Care about Your Craft Why spend your life developing software unless.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
By SPEC INDIA. TestComplete – An Introduction An automated testing tool by SmartBear – TestComplete is a comprehensive product with umpteen features and.
T Iteration Demo LicenseChecker I2 Iteration
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Tracking and Squashing Bugs
Grading CSE 403, Spring 2008, Alverson.
Chapter 18 Maintaining Information Systems
Software testing
Applied Software Implementation & Testing
Finding and Managing Bugs CSE 403 Lecture 23
CSE 303 Concepts and Tools for Software Development
Your code is not just…your code
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Jamie Cool Program Manager Microsoft
Your code is not just…your code
Presentation transcript:

Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky

Why do we need estimates? To know o If a customer request for a delivery date is reasonable o If we can provide more features in the time we have o If we need more people to hit a deadline o How much to bid for a job o When we can provide our deliverable to another group, possibly internal, who is dependent on it o When we’ll be available to move to the next project o Which path is more cost effective to pursue (ie. build vs buy, design A or design B) o.... CSE 403, Spring 2008, Alverson

Estimation in a nutshell There are multiple ways to come up with an estimate Make sure you take into account the broad spectrum of factors, including o Size of project o Type of project, type of language o Vacations, meetings, non-technical work o Size and talent in the team o Scope of the project o Input from past experience (yours and/or others) Try to avoid the deadly sins … CSE 403, Spring 2008, Alverson

Testing Wrap-up Coding Ain't Done 'Til All the Tests Run Pragmatic Programmer CSE 403, Spring 2008, Alverson

Testing Wrap-up Take it from me, Microsoft begins every project with the certain knowledge that they will choose to ship with known bugs. MS test engineer CSE 403, Spring 2008, Alverson

Integration/system testing Shows that the major subsystems that make up the project work well together. big bang: no stubs; do unit testing, then throw all parts together bottom-up: integrate upward into double, triple, quadruple module test top-down: test top layer (UI) first, then add layers to replace underlying stubs o What are some pros and cons of each?

CSE 403, Spring 2008, Alverson GUI testing Testing a product that uses a GUI, to ensure it meets its written specifications Difficulties: o Many operations to test (ie. MS Wordpad has 325) o Order of testing matters o Regression testing is hard given GUI evolution o Need to test on an array of browsers (web apps)

CSE 403, Spring 2008, Alverson Approaches to GUI testing Automated UI testing o Scripts that use your app and look for failures o A black-box system test o Selenium: Manual tests o Human beings click through predetermined paths o Need to write down the specific tests each time o Exploratory tests o Human beings are "turned loose" on the app to see if they can break it

CSE 403, Spring 2008, Alverson Web app compatibility testing Motivation o ensure that your web app is compatible with various browsers, platforms, etc. o ensure that your app's HTML code complies with web standards o ensure that you have no broken links or other HTML errors

CSE 403, Spring 2008, Alverson

CSE 403, Spring 2008, Alverson Pragmatic Programmer Tips Test early, test often, test automatically Find bugs once Test your software, or your users will Design to test

CSE 403, Spring 2008, Alverson BUGS! Managing Bugs

CSE 403, Spring 2008, Alverson What is a bug? Formally, a “software defect” System fails to perform to spec System causes something else to fail System functions, but does not satisfy usability criteria If the system works to spec and someone wants it changed, that’s a feature request

CSE 403, Spring 2008, Alverson What makes a good bug report? Include: Reproducible steps – how did you cause the failure? Observed result – what did it do? Expected result – what should it have done? Any collateral information: return values/output,… Environment o OS version, env variables, compiler flags, … o Test platforms must be reproducible o “It doesn’t do it on my machine”

CSE 403, Spring 2008, Alverson Why is a bug tracking tool valuable? Vs, say, a spreadsheet?

CSE 403, Spring 2008, Alverson Metrics can show quality Survival Guide p224

CSE 403, Spring 2008, Alverson Another example Open defects by criticality (p1=high, p5=low) Is this system ready to release?

CSE 403, Spring 2008, Alverson Example 3 Open defects by module How is this view helpful?

CSE 403, Spring 2008, Alverson A bug’s life (simplistic)

Team Member Contribution Assessments Scores will be in database by end of day You’ll hear from me only if there are exceptional comments me if you want a summary CSE 403, Spring 2008, Alverson

Beta and Final Releases Excellent job on the Beta! (We spent a huge amount of time grading it together – your products are looking really nice) Let’s walk through Final Assignment so you can make sure you understand all the components CSE 403, Spring 2008, Alverson