Cs498dm Software Testing Darko Marinov January 15, 2008.

Slides:



Advertisements
Similar presentations
Intro to CIT 594
Advertisements

John Hurley Cal State LA
Computers and Society Lecture 1: administrative details and an introduction to the class Professor: Evan Korth New York University.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 ICS 52 Introduction to Software Engineering Lecture.
IT 240 Intro to Desktop Databases Introduction. About this course Design a database: Entity Relation (ER) modeling and normalization techniques Create.
Intro to CIT 594
Logistics: –My office hours: T, Th 4-5pm or by appointment –Class Web page:
WELCOME EFFECTIVE GRANTSMANSHIP WORKSHOP FW5850 CREDIT 1 Thursday 1.05 to 1.55 pm $$$$$$$$$$$$$$$$$$$$$$$
Systems Analysis and Design for Electronic Commerce, Networked Business Processes, and Virtual Enterprises Walt Scacchi, Ph.D. GSM 271 and FEMBA 271 Spring.
Course Syllabus January 24, 2012 CS 426/CPE 426 Senior Projects in Computer Science/Computer Engineering University of Nevada, Reno Department of Computer.
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
1 / 16 CS 790z Seminar on Software Engineering Spring 2003 Syllabus Details January 23, 2003.
1 CS 709B Advanced Software Project Management and Development Spring 2009 Course Syllabus January 20, 2009.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
CS598TX: Advanced Topics in Software Engineering -- Software Testing, Debugging, Analysis, Analytics – Course Logistics Tao Xie.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
CS211: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Piazza – Textbook Highlight important.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Computer Network Fundamentals CNT4007C
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
CS527: (Advanced) Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 23, 2011.
CSE 436 Software Engineering Workshop Course Overview Christopher Gill CSE 436 January 2007 Department of Computer Science and Engineering.
1 COMS 261 Computer Science I Title: Course Introduction Date: August 25, 2004 Lecture Number: 01.
Software Testing and Maintenance 1 Today’s Agenda  Syllabus.
Network Simulation and Testing Polly Huang EE NTU
CS527: (Advanced) Topics in Software Engineering -- Software Testing, Debugging, Analysis, Analytics – Course Logistics Tao Xie ©D. Marinov, T. Xie.
Cs498dm Software Testing Darko Marinov January 22, 2008.
EU MONETARY AND FISCAL POLICY TOPICS IN ECONOMIC POLICY – SPRING JMU OUTLINE OF THE COURSE AND PRELIMINARY INFORMATION.
Java Programming Computer Engineering Department JAVA Programming Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 28, 2008.
Programming In Perl CSCI-2230 Thursday, 2pm-3:50pm Paul Lalli - Instructor.
Network Simulation and Testing Polly Huang EE NTU
1 CS4521 – Mobile and Topics in Web Programming L. Grewe.
CSCE 496/896 Self-Managing Computer Systems Ying Lu 106 Schorr Center
1 CS6320 – SW Engineering of Web- Based Systems L. Grewe.
1 Technologies for Electronic Commerce and EBusiness Walt Scacchi, Ph.D. FEMBA 290 Winter 2003.
Cs498dm Software Testing Darko Marinov January 17, 2012.
EECS 110: Introduction to Programming for Non-Majors Aleksandar Kuzmanovic Northwestern University
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
8/25/2010CS 686 Course Outline and Questionnaire EJ Jung CS 686 Special Topics in CS Privacy and Security.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
Cs498dm Software Testing Darko Marinov January 24, 2008.
EECS 110: Introduction to Programming for Non-Majors Aleksandar Kuzmanovic Northwestern University
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Data Structures and Algorithms in Java AlaaEddin 2012.
Cs498dm Software Testing Darko Marinov January 27, 2009.
Computer Networks CNT5106C
CS527: (Advanced) Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 24, 2010.
1 CS 709B Advanced Software Project Management and Development (ASPDM) Spring 2012 Course Syllabus January 24, 2012.
ICS 151 Digital Logic Design Spring 2004 Administrative Issues.
PROBLEM SOLVING AND PROGRAMMING ISMAIL ABUMUHFOUZ | CS 170.
1 CS 425 / 625 Software Engineering Fall 2003 Course Syllabus August 25, 2003.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
Cs498dm Software Testing Darko Marinov January 24, 2012.
Cs498dm Software Testing Darko Marinov January 26, 2012.
Agenda Syllabus What is software testing ? Why it’s needed ?
Software Quality and Testing (CSC 4133)
EECS 110: Introduction to Programming for Non-Majors
Software Process ICS 225 Spring 2002
Cs498st Software Testing Tao Xie.
Computer Science 102 Data Structures CSCI-UA
CS527: (Advanced) Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 25, 2011.
Teacher name | course number
Software Quality Assurance Lecture 1
Accelerated Introduction to Computer Science
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 26, 2008.
Paul Ammann & Jeff Offutt
Darko Marinov February 5, 2009
Presentation transcript:

cs498dm Software Testing Darko Marinov January 15, 2008

Teaching Staff Instructor: Darko Marinov – –Office: SC 3116, –Office hours: after classes or by appointment TA: Vilas Shekhar Bangalore Jagannath – –Office hours: by appointment

Course Overview Introduction to software testing –Systematic, organized approaches to testing –Based on models and coverage criteria –Testing is not (only) about finding “bugs” –Improve your testing (and development) skills –Not focused on research (unlike cs598dm) Five problem sets and a project –Centered around testing refactoring engines

Refactoring Engines: One Slide Next lecture will be on refactoring engines –Guest lecturer: Jeff Overbey You’ll learn a lot about refactoring engines in this class Refactorings are program transformations that change code but not its behavior Refactoring engines are tools that automate refactorings

Administrative Info Lectures: TR 3:30pm-4:45pm, 1304 SC Credit: –3 undergraduate hours –3 or 4 graduate hours (a larger project for 4) Prerequisites: recommended software engineering (cs427) and programming languages (cs225, cs421) –Consent of instructor (must if not senior)

Grading Points –Project (25%) –Problem sets (5*15%) Grades –A*(90%), B*(80%), C*(70%), D*(60%), F(<60%) –For more details, see the syllabus –The instructor may lower the point limits

Project Testing a part of refactoring engine –Eclipse –NetBeans Deliverables –Proposal (due in three weeks) –Progress report (around midterm) –Final report (by the grade submission deadline) –Bug reports (hopefully you’ll find some bugs)

Collaboration You must individually write solutions for the problem sets You can collaborate on everything else (unless explicitly stated not to collaborate!) –Discuss problem sets –Do projects in groups, preferably two or three students Testing is a social activity –Communication matters

Course Communication Web site Wiki Mailing list Instructor: Darko – –Office: SC 3116, –Office hours: after classes or by appointment TA: Vilas

Signup Sheet Name address Program/Year Interests: what would you like to learn about testing? Experience: what testing did you do? To do: please also sign up on Wiki

Textbook “Introduction to Software Testing” by Paul Ammann and Jeff Offutt Cambridge University Press, Jan Books should be in the bookstore soon We won’t use book before the end of Jan. If necessary, you will get PDF files Book draft already used in cs{4,5}98dm

This Lecture: Introduction to “Bugs” Why look for bugs? What are bugs? Where they come from? How to detect them?

Some Costly “Bugs” NASA Mars space missions –Priority inversion (2004) –Different metric systems (1999) BMW airbag problems (1999) –Recall of 15,000+ cars Ariane 5 crash (1996) –Uncaught exception of numerical overflow – Your own favorite examples?

Some “Bugging” Bugs Two example bugs on my laptop –“Jumping” file after changing properties Put a read-only file on the desktop Change properties: rename and make not read-only –“Jumping” rectangle after move Put up a slide with two rectangles Move one within the textbox Your own favorite examples?

Economic Impact “The Economic Impact of Inadequate Infrastructure for Software Testing” NIST Report, May 2002 $59.5B annual cost of inadequate software testing infrastructure $22.2B annual potential cost reduction from feasible infrastructure improvements

Estimates Extrapolated from two studies (5% of total) –Manufacturing: transportation equipment –Services: financial institutions Number of simplifying assumptions “…should be considered approximations” What is important to you? –Correctness, performance, functionality

Some Motivation for Testers An article from SD Times, a magazine for software development managers: “Improving Software Quality” by Lindsey Vereen (page 34/68) A slide from Debra Richardson, a professor at UC Irvine: “Analysis and Testing are Creative” (page 26/48)

Terminology Anomaly Bug Crash Defect Error Failure, fault G… …

Dynamic vs. Static Incorrect (observed) behavior –Failure, fault Incorrect (unobserved) state –Error, latent error Incorrect lines of code –Fault, error

“Bugs” in IEEE Fault –Incorrect lines of code Error –Faults cause incorrect (unobserved) state Failure –Errors cause incorrect (observed) behavior Not used consistently in literature!

Next Lecture Thursday, January 17, 3:30pm, 1304 SC –Topic: refactorings What they are? Why you need them? How to perform them? –Guest lecturer: Jeff Overbey Assignments –Sign up on Wiki –Try out Eclipse and/or NetBeans