7
Ver.Feb09 THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) Page 1 COURSE OUTLINE SCHOOL: School of Engineering Technology and Applied Science DEPARTMENT: Information and Communication Engineering Technology (ICET) PROGRAM: Software Engineering Technician/Technology, Health Informatics Technology, Interactive Gaming (3408, 3409, 3419, 3508, 3518, 3109, and 3119) COURSE TITLE: Software Testing and Quality Assurance COURSE CODE: COMP311 TOTAL COURSE HOURS: 60 PRE-REQUISITES/CO-REQUISITES: COMP123, COMP225 COURSE ELIGIBILITY FOR PRIOR LEARNING ASSESSMENT AND RECOGNITION (PLAR): Yes ORIGINATED BY: Ilia Nika (Nov. 2008) REVISED BY: Ilia Nika, Peter Voldner DATE: May, 2009 APPROVED BY: __________________________________ Chairperson/Dean Semester: 2009 Summer Students should keep all course outlines for each course taken at Centennial College. These may be used to apply for transfer of credit to other educational institutions. A fee may be charged for additional or replacement copies.

COURSE OUTLINE - Centennial Collegedb2.centennialcollege.ca/coursepdf/COMP-311.pdf · COURSE OUTLINE SCHOOL: School of ... Coursework emphasizes testing trough software development

Embed Size (px)

Citation preview

Page 1: COURSE OUTLINE - Centennial Collegedb2.centennialcollege.ca/coursepdf/COMP-311.pdf · COURSE OUTLINE SCHOOL: School of ... Coursework emphasizes testing trough software development

Ver.Feb09 THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) Page 1

COURSE OUTLINE

SCHOOL: School of Engineering Technology and Applied Science

DEPARTMENT: Information and Communication Engineering Technology (ICET)

PROGRAM: Software Engineering Technician/Technology, Health Informatics Technology, Interactive Gaming (3408, 3409, 3419, 3508, 3518, 3109, and 3119)

COURSE TITLE: Software Testing and Quality Assurance

COURSE CODE: COMP311

TOTAL COURSE HOURS: 60

PRE-REQUISITES/CO-REQUISITES: COMP123, COMP225

COURSE ELIGIBILITY FOR PRIOR LEARNING

ASSESSMENT AND RECOGNITION (PLAR): Yes

ORIGINATED BY: Ilia Nika (Nov. 2008)

REVISED BY: Ilia Nika, Peter Voldner

DATE: May, 2009

APPROVED BY: __________________________________ Chairperson/Dean

Semester: 2009 Summer Students should keep all course outlines for each course taken at Centennial College. These may be used to apply for transfer of credit to other educational institutions. A fee may be charged for additional or replacement copies.

Page 2: COURSE OUTLINE - Centennial Collegedb2.centennialcollege.ca/coursepdf/COMP-311.pdf · COURSE OUTLINE SCHOOL: School of ... Coursework emphasizes testing trough software development

Course Title: Software Testing and Quality Assurance CENTENNIAL COLLEGE Course Code: COMP 311

5/19/2009 THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) Page 2

COURSE DESCRIPTION: This course explores testing methodologies and inspection approaches integrated into the SD life cycle. Coursework emphasizes testing trough software development life cycle, testing process, test design techniques, test management, etc. The hands-on labs include the use of JUnit/NUnit and/or IBM Rational Test Suite.

COURSE LEARNING OUTCOMES: Upon successfully completing this course, the student will be capable of:

1. Demonstrate good understanding of the importance of software testing

2. Demonstrate good understanding of testing through the software cycle

3. Demonstrate good understanding of testing process

4. Demonstrate good understanding of software testing design techniques

5. Designing and executing test plans and test cases

6. Design a framework for automated tests.

7. Write and maintain test scripts, and execute automated tests.

8. Demonstrate good understanding of QA components and documentation standards.

ESSENTIAL EMPLOYABILITY SKILLS (EES):

This course supports the students’ ability to:

Communicate clearly, concisely, and correctly in the written, spoken, and visual form that fulfils the purpose and meets the needs of audiences.

Interact with others in groups or teams in ways that contribute to effective working relationships and the achievement of goals.

Reframe information, ideas, and concepts using the narrative, visual, numerical, and symbolic representations, which demonstrate understanding.

Manage the use of time and other resources to attain personal and/or project-related goals.

Take responsibility for her or his actions and decisions.

PRIOR LEARNING ASSESSMENT & RECOGNITION PROCESS (ES):

This course is eligible for prior learning assessment whereby the student will demonstrate past learning acquired through study, work, or other life experiences. The challenge process will include any or all of the following: an interview, a portfolio, writing of programs in Java, and an exam in order to assign a grade that reflects the student’s abilities with respect to the above Course Learning Outcomes.

EVALUATION & GRADING SYSTEM: Assignments 30% Mid-Term Exam 30% Final Exam 40% 100%

Page 3: COURSE OUTLINE - Centennial Collegedb2.centennialcollege.ca/coursepdf/COMP-311.pdf · COURSE OUTLINE SCHOOL: School of ... Coursework emphasizes testing trough software development

Course Title: Software Testing and Quality Assurance CENTENNIAL COLLEGE Course Code: COMP 311

4/9-2009 THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) Page 3

STUDENT ACCOMMODATION: All students have the right to study in an environment that is free from discrimination and/or harassment. It is College Policy to provide accommodation based on grounds defined in the Ontario Human Rights Code. Accommodation may include changes or modifications to standard practices. Students with disabilities who require academic accommodations must register with the Centre for Student with Disabilities. Please see the Centre for Students with Disabilities for details. Students requiring accommodation based on human rights grounds should talk with their professors as early as possible. Details are available on the Centennial College website (www.centennialcollege.ca ). If students are unable to write an examination due to a medical problem or unforeseen family problems, they should immediately contact their professor or program Chair for advice. In exceptional and well-documented circumstances (e.g. unexpected family problems, serious illness, or death of a close family member), students should be able to write a make-up examination to replace an examination missed.

TEXT AND OTHER INSTRUCTIONAL/LEARNING MATERIALS:

Required Text: Foundation Level Syllabus, Certified Tester, Version 2007, ISTQB ( PDF file is on Blackboard) Reference Books (Purchase not required): Code Complete 2

nd Edition, by Steve Mc Connell, Microsoft Press

Foundations of Software Testing , by Dorothy Graham, Erik Van Veenendaal, Isabel Evans, Rex Black, ISBN-10: 1844803554, ISBN-13: 978-1844803552, Publisher: Cengage Learning Business Press; 1 edition (December 19, 2006). Software Testing Techniques: Finding the Defects that Matter, by Scott Loveland, Geoffrey Miller, Richard Prewitt, Michael Shannon, ISBN-10: 1584503467, ISBN-13: 978-1584503460, Publisher: Charles River Media, 2004.

Reference Articles ( prepared for topics): Web Resources: JUnit tutorial in Eclipse http://www.nunit.org IBM Courseware – Principles of Software Testing for Testers IBM Courseware – Essentials of IBM Rational Functional Tester, .NET Scripting, 2007 http://www.testingeducation.org/

USE OF DICTIONARIES Dictionaries may be used in tests and examinations, or in portions of tests and examinations, as long as they are non-electronic (not capable of storing information) and hard copy (reviewed by the invigilator to ensure notes are not incorporated that would affect test or examination integrity);

Page 4: COURSE OUTLINE - Centennial Collegedb2.centennialcollege.ca/coursepdf/COMP-311.pdf · COURSE OUTLINE SCHOOL: School of ... Coursework emphasizes testing trough software development

Course Title: Software Testing and Quality Assurance CENTENNIAL COLLEGE Course Code: COMP 311

4/9-2009 THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) Page 4

POLICY STATEMENTS

College Policies

The following statements are selected from Centennial College policies approved by the Board of Governors.

Student Responsibilities Students are expected to know the contents of the course outline and to discuss with the professor any areas where clarification is required. Students should keep all course outlines for each course taken at Centennial College. These may be used to apply for transfer of credit to other educational institutions. A fee may be charged for additional or replacement copies.

Other Policies

Students should familiarize themselves with all College Policies that cover students’ rights, responsibilities, and the Academic Appeal process. For further information, consult the Academic Matters Section in the full-time and Continuing Education calendars. The Academic Appeal Application form is available from any Enrolment Services Office.

Proof of Student Status Students must produce official photo identification at any time during the semester when requested to do so by any professor. (The official piece is the Centennial Student Card.) Continuing Education students do not have Centennial Student Cards, and so they may use other forms of photo identification, such as a driver’s license, health card, or other government-issued photo identification.

Final Examinations When writing a test or examination, students must put their official photo-ID cards in full view for review by the invigilator. Students who do not have official photo-ID will be permitted to write the examination with a substitute photo-ID, but they will be required to produce photo-ID at the program or department office within 24 hours or the next business day following the examination, or else the examination results will be void. More Final Examination Policies are available at http://my.centennialcollege.ca.

Academic Progression Policy for Diploma and Certificate Programs: College Academic Standings will be applied. Please see Academic Policies and Procedures, Full-Time Calendar.

Faculty Consultation Professors are available to see students outside of class time. Students can contact professors via voice mail, email, or through their program or department office. Information regarding how to contact teachers will be provided at the beginning of the course and is also available in the program or department office.

Human Rights Statement It is the policy of the College that all programs will strive for a learning, teaching, and working environment that promotes inclusion, understanding, and respect for all students and employees, consistent with the Ontario Human Rights Code and Centennial College's Statement of Diversity.

Page 5: COURSE OUTLINE - Centennial Collegedb2.centennialcollege.ca/coursepdf/COMP-311.pdf · COURSE OUTLINE SCHOOL: School of ... Coursework emphasizes testing trough software development

Course Title: Software Testing and Quality Assurance CENTENNIAL COLLEGE Course Code: COMP 311

5/19/2009 THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) Page 5

Note: This outline contains the essential elements that must be covered in the course, but the sequence and time allocated to topics is suggested, and may be altered by the teaching professor. In addition, the teaching professor may alter the timing of assignments.

Week Topic/Content Readings Learning Outcomes Instructional Strategies/ Tests and Assignments

1 Course Overview Fundamentals of Testing

Wk1 slides ( on Blackboard)

Upon completion of this work, the learner will have a good understanding of the role testing plays in software development and some testing principles. The student will learn about the software test process, why testing is important, some basic terms used in testing, and the psychology of testing

Lecture Lab Session – lecture Week 1 part # 2 Quiz and discussion on testing principles

2 Developer Testing Ref 2-1, defects and debugging Code Complete – sections 22.1 to 22.3

W2 slides

Upon completion of this work, the learner will have a good understanding of the testing activities performed by the developer, including code reviews and inspections. The student will learn about the difference between testing and debugging, and good approaches for testing components

Lab Session – Lecture – part 2 developer testing Read Whittaker article “ What is software testing and why is it so hard ? IEEE Software , Jan/Feb 2000. Due in 2 weeks

3 Testing throughout the Software life cycle Test-related Terms and definitions Quiz – Multiple choice Foundations of Software testing, Section 2.1

W3 – Summary slides

Upon completion of this work, the students will be able to differentiate between different software development models and testing through life cycle. The student will learn about Test Levels: - Component testing - Integration testing - System Acceptance and Test types - Functional testing - Non -functional testing, testing of non-functional software characteristics - Structural testing, testing of software structure/architecture - Testing related to changes (confirmation testing (retesting) and regression testing)

Lab Session – LAB # 1, Exercise # 1 on JUnit

4 Static testing - Reviews - Inspections Quiz - Vocabulary

Wk 4 summary slides CH 3 excerpt on Blackboard

Upon completion of this work, the learner will have a good understanding of the review process and static analyses by tools. The student will be able to identify the phases of a formal review, types of a review, and roles and responsibilities.

Lab Session - LAB # 1, Exercise # 2, Junit ( Feb 5 )

5 Testing Design Techniques

Wk5 summary slides

Upon completion of this work, the student will have a good understanding of the three steps in test design:

Lecture – topics: - test documentation

Page 6: COURSE OUTLINE - Centennial Collegedb2.centennialcollege.ca/coursepdf/COMP-311.pdf · COURSE OUTLINE SCHOOL: School of ... Coursework emphasizes testing trough software development

Course Title: Software Testing and Quality Assurance CENTENNIAL COLLEGE Course Code: COMP 311

4/9-2009 THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) Page 6

Week Topic/Content Readings Learning Outcomes Instructional Strategies/ Tests and Assignments

- test conditions - test cases - test procedures - Syllabus sect 4

determining what to test ( test condition), designing and documenting each test cases; and defining the test procedure. The student will be able to differentiate between black-box , and white-box techniques.

- test case design - partitions Lab Work example Lab Session – Lab # 2

6 Test Management - test organization - intro to test case partition design - Documentation and test specification - Measuring test progress

Wk6 summary slides

Upon completion of this work, the student will have a good understanding of test organization structure, test case design using equivalence partitioning, and test documentation. The student will be able to understand how to document test case designs, and be able to understand how test case progress is tracked.

Lecture Lab Session – Lab # 2 ( completion) ASSIGNMENT : Read article « Static code analysis, IEEE Software, Jul/Aug 2006. 1. What are the benefits of static analsysis? Write at least a 10 line paragraph. Due: in 2 weeks.

7 CAST tools and Introduction to SCM - Test levels - Testing tools - Incident management - Introduction to SCM - version tracking - software “builds”

Wk7 Summary slides

Upon completion of this work, the student will have a good understanding of incident management, the concept of builds, and be capable of identifying different types of testing tools. The student will be able to understand the basics of software change management , the concept of versions and the importance of software “builds” as part of the testing cycle.

Lab Session: Review

8 Mid-Term Examination Examination

9 Software Quality Assurance components: - Quality fundamentals - Quality assurance - Software quality system - SQA and ISO 9001

Wk9 summary slides

By means of this work, the student will have an understanding of quality concepts and the quality assurance and the activities that contribute to software quality assurance. The student will become familiar with the concept behind the ISO 9001 quality system standard.

Lab Session - Review of the test case design for statement coverage and decision coverage. Exercise #9-1: Vending machine ( coverage) Exercise # 9-2: Train fares ( partition design) Review solutions in lab. Lab #5: Introduction to WatiN test tool

10 SQA and Testing - Software quality systems - Quality system documentation - Verification & validation - SCM - Identification - Assessment - CMMI

Wk 10 summary slides Ref 10-1, 10-2

Upon completion of this work, the student will have a good understanding of what makes up a software quality system (SQS), and know the elements that make up a SQS, understand the vital role that documentation plays in a quality system, be aware of the concepts of Verification and validation, and be aware of the importance of measuring software capability through the CMMI assessment model.

Lab session: Exercises and review related to designing test cases. Review the example of configuration testing ( Article 10-3)

Page 7: COURSE OUTLINE - Centennial Collegedb2.centennialcollege.ca/coursepdf/COMP-311.pdf · COURSE OUTLINE SCHOOL: School of ... Coursework emphasizes testing trough software development

Course Title: Software Testing and Quality Assurance CENTENNIAL COLLEGE Course Code: COMP 311

4/9-2009 THIS COURSE ADHERES TO ALL COLLEGE POLICIES (See College Calendar) Page 7

Week Topic/Content Readings Learning Outcomes Instructional Strategies/ Tests and Assignments

11 Testing Topics: - test process review - “7 step “ - test execution tools - test case design rules - Load testing - CMM

Wk 11 summary slides Ref 11-1, process Ref 11-2, test automation

Upon the completion of this work the student will be able to apply verification and validation techniques for error detection, and detecting defects while applying inspection techniques. The student will be able to recognize the components of a CM system, Identify the workflow and work products, and manage and control products for consistency.

Lab Session Exercise # 3 : Postal rates

12 Testing topics – 2: - Acceptance testing

review - Data-driven testing - Usability testing

Wk 12 summary slides REF # 12-1

After completing this work, the student will have a good understanding of: - Data-Driven Framework - Data-Driven Scripting Technique - Use case example

Wk 12 Exercise on TC design: partition, boundary values, quiz Ex 12-1: Partition problem 5 digit number Ex 12-2 Parking meter problem Lab # 6, data testing tool

13 Review – 1 - Test documentation - IEEE 829 - Documenting Test cases - Exercises - Tutorial ( art 13-1)

Wk 13 outline

Upon completion of this work, the student will better understand the role of IEEE 829 in setting documentation guidance and how to document test cases. The student will also better understand the value of the testing perspective for a designer, programmer.

Review SQS, Verification and validation Lab Session – complete last week’s assignment Quiz 13-1

14 Final Exam Review - topics - Exercise: Decision coverage

15 Final Examination Examination

References: Vocabulary list for COMP 311 2-1: S. McConnell, Code Complete, Edition 2, section 23.1, Overview of debugging issues 10-1: Article on Verification ( static testing); Excerpt from W.E. Perry’s book. 10-2: R. Patton, Software testing 2

nd Edition, Chapter 8, configuration testing

10-2: R. Patton, Software testing 2nd

Edition, Chapter 23, Software Quality Assurance 11-1: W.E. Perry, Effective methods for software testing, 3

rd Edition, Chapter 6, The seven step software testing process.

11-2, D. Mosley, B. Posey, Just enough software test automation, Chapter 4, test script development; chap 7, data driven testing. 12-1: R. Patton, Software testing 2

nd Edition, Chapter 11, Usability testing (First 2 sections)