Department of Electrical and Computer Engineering

Concordia University

 

 

 

SOFTWARE TESTING and VALIDATION (COEN345)

Fall 2007 Syllabus

 

 

 

Instructor: Dr. Rachida Dssouli

Office: EV007.642 (CIISE)

Phone: (514) 848-2424, Ext 4162

Fax: (514) 848-31712

Email: dssouli@ciise.Concordia.ca

 

 

Class Time and Room: Tuesday & Thursday: 14:45--16:00, H623

Office Hours: Wednesdays12:00am-14:00pm

 

 

Course Summary and Objectives:

The purpose of this course is to give the student the theory, methods and practice of software testing and validation (referred to as V&V). The course focuses not only on the theory of software testing and validation but also on how testing and validation techniques can be applied in practice to help programmers and testers function more effectively and efficiently. In addition, projects including the use of advanced testing and validation techniques supported by industrial tool suites are designed to help students learn the difference between state-of-art testing and state-of-practice testing. The overall objective is to teach students an integrated solution to reduce software development cost and also improve its productivity and quality.   The course builds on the foundation of what you learned in Software Engineering Principles and Techniques by expanding on topics that were covered in that course as well as adding new ones. The course also points out the importance of soft skills in testing and validating software products. You will learn through lectures, assignments, and projects the quality of software systems and how to achieve it. You will also learn in class and through extra material the professional and ethical responsibility required for developing software products.

 

Upon completion of this course the student will have:

·                     Understood the goal and different types of software testing.

·                     Understood the concepts of verification and validation

·                     Understood and applied functional testing

·                     Understood and applied  structural testing

·                     Understood and applied  mutation testing

·                     Understood and applied  GUI testing

·                     Understood Robustness testing

·                     Understood Reliability Assessment

·                     Understood and applied Software Testing Tools.

·                     Understood model checking and concepts related to it. 

 

 

 

Items to be covered in this course:

·                     General definitions.

·                     Type of testing

·                     Black-Box Testing

·                     White-Box Testing

·                     Gray-Box Testing

·                     Static Testing

·                     Dynamic Testing

·                     Debugging Software

·                     Quality Assurance

·                     Testability Units and Unit Testing

·                     Test Case Specification

·                     White-Box testing Basis

·                     Path Testing Coverage

·                     Testing Black-Box testing Equivalence class partitioning

·                     Boundary value analysis 

·                     Unit Testing

·                     Testing Drivers and stubs

·                     Unit test set construction

·                     Integration testing

·                     Incremental vs. non-incremental testing

·                     Traditional Integration Testing Strategies

·                     Higher level testing

·                     System testing

·                     Function testing

·                     Acceptance testing

·                     Installation testing

·                     Walkthroughs, Inspections, and Reviews 

·                     Test planning Elements of a good test plan

·                     Test plan development

·                     Model checking and logics.

·                     ... 

    

Prerequisite: SOEN342

 

 

 

References (None is mandatory):

·                     Kaner, Falk, and Nguyen, Testing Computer Software (Wiley 1999). See also Cem Kaner's web page (www.kaner.com).

·                     Louise Tamres, Introducing Software Testing, Addison-Wesley, Pearson Education Limited 2002, ISBN 0-201-71974 6

·                     Daniel J., Mosley, Bruce A. Posey, Just Enough Software Test Automation, Just Enough Series, Yourdon Press, ISBN 0-13-008468-9

·                     Boris Beizer, Software Testing Techniques (second edition). Professors' notes will be available on my web page. 

·                     Aitya P. Mathur, Foundations of Software Testing (will appear soon), draft is available. 

 

Assessment:

Quiz1                   25%

Quiz2                 30%

Projects               30%

Assignments        15%