cpsc 6178 software testing and quality … 6178 software testing and quality assurance ... software...

11
COURSE SYLLABUS CPSC 6178 SOFTWARE TESTING AND QUALITY ASSURANCE INSTRUCTOR - Dr. Shamim Khan EMAIL – [email protected] HOMEPAGE: http://csc.ColumbusState.edu/khan PHONE – Office phone: (706) 507-8184 School phone: (706) 507-8170 OFFICE HOURS AND LOCATION – MWRF 11:00-12:00, MWR 2:00-4:00 PM; CCT 444 CLASS MEETING TIME AND PLACE – CCT 405 MWF 10-10:50 AM COURSE INFORMATION COURSE CRN NUMBER/TITLE CPSC6178 – Software Testing And Quality Assurance (CRN 81310/ 80379) CREDIT HOURS/PREREQUISITES (3 credits) COURSE DESCRIPTION: This course examines the relationship between software testing and quality with an emphasis on testing as a part of the software development life cycle. It covers commonly used software testing strategies with test design techniques. The issues of test management, test support tools and automated testing are also discussed. REQUIRED TEXTBOOK AND MATERIALS Software Testing: Principles and Practices by S. Desikan & G. Ramesh, Pearson Education, 2007, ISBN-13: 817758295X SUPPLEMENTARY BOOKS AND MATERIALS Cougarview materials - Lecture notes, PowerPoint slides, and relevant articles (https://colstate.view.usg.edu/) Software and manuals found in the computer labs and on the Internet

Upload: trannhi

Post on 23-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

COURSE SYLLABUS

CPSC 6178 SOFTWARE TESTING AND QUALITY ASSURANCE INSTRUCTOR - Dr. Shamim Khan EMAIL – [email protected] HOMEPAGE: http://csc.ColumbusState.edu/khan PHONE – Office phone: (706) 507-8184 School phone: (706) 507-8170 OFFICE HOURS AND LOCATION – MWRF 11:00-12:00, MWR 2:00-4:00 PM; CCT 444 CLASS MEETING TIME AND PLACE – CCT 405 MWF 10-10:50 AM

COURSE INFORMATION

COURSE CRN NUMBER/TITLE CPSC6178 – Software Testing And Quality Assurance (CRN 81310/ 80379) CREDIT HOURS/PREREQUISITES (3 credits)

COURSE DESCRIPTION: This course examines the relationship between software testing and quality with an emphasis on testing as a part of the software development life cycle. It covers commonly used software testing strategies with test design techniques. The issues of test management, test support tools and automated testing are also discussed.

REQUIRED TEXTBOOK AND MATERIALS

Software Testing: Principles and Practices by S. Desikan & G. Ramesh, Pearson Education, 2007, ISBN-13: 817758295X

SUPPLEMENTARY BOOKS AND MATERIALS

Cougarview materials - Lecture notes, PowerPoint slides, and relevant articles

(https://colstate.view.usg.edu/)

Software and manuals found in the computer labs and on the Internet

Page 2: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

LEARNING OUTCOMES

Course Objective: This course examines the relationship between software testing and quality with an emphasis on testing as a part of the software development life cycle. It covers commonly used software testing strategies with test design techniques. The issues of test management, test support tools and automated testing are also discussed. It covers the following major topics:

1. Introduction to software testing and software development life cycle models 2. Software quality assurance and software testing 3. White box testing techniques 4. Black box testing techniques 5. Integration testing 6. System and acceptance testing 7. Performance testing 8. Regression testing 9. Ad hoc testing 10. Usability and accessibility testing 11. Automated testing 12. Testing software security 13. Test process and management

The course assumes you have a basic understanding of software development concepts prior to the taking this course.

Course Outcomes: Upon completion of this course, students will

be able to explain the role of software testing as a part of the software development life-cycle;

Strategies and actions used to produce the outcome: o Study software testing as a part of various software development life-

cycle models Program Objectives covered: 2 Assessment methods: discussion questions and written exam

be able to describe the nature, purpose and significance of software testing as it relates to software quality assurance;

Strategies and actions used to produce the outcome: o Study of software testing as a process in assuring software quality

Program Objectives covered: 2 Assessment methods: discussion questions, assignment and written exam

Page 3: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

be able to define the different categorizations of software testing in terms of the following - what aspect of the software is tested (e.g., functionality, performance) at what level testing is performed (e.g., unit, system), and how the testing process is carried out (e.g., static/dynamic, ad hoc, automatic);

Strategies and actions used to produce the outcome: o Study of common software testing methodologies

Program Objectives covered: 2 Assessment methods: discussion questions, assignments and written exam.

be able to describe and apply commonly used black-box and white-box testing techniques;

Strategies and actions used to produce the outcome: o Study common black-box and white-box techniques for software testing

Program Objectives covered: 2 and 3 Assessment methods: discussion questions, assignments, exam and course

project implementation. be able to describe and apply the process of test management;

Strategies and actions used to produce the outcome: o Study software testing management.

Program Objectives covered: 2 Assessment methods: discussion questions, and exam

COURSE ASSESSMENT

LEARNING ACTIVITIES

This course will consist of topic notes, readings, discussion questions, assignments, a final

project and a comprehensive exam. On a weekly basis, you will need to:

1. Access the week’s course module and download the week’s notes, any relevant PowerPoint slides, and any other relevant reading material;

2. Read the topic notes to review the main points of the week's lesson; 3. Get a more in depth understanding by completing the readings from the text and/or

other material referred to in the notes; 4. Check for any new assignment and discussion in CougarView. The course calendar in

CougarView will show the deadlines for submitting any work (assignments, discussions etc.) currently due.

5. Work on the current assignment to meet the given deadline; 6. Participate in the current discussion by posting questions, submitting responses to

others in the class or summarizing with comments based on your readings, online research and personal experience;

Page 4: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

7. Decide on and complete a final project in consultation with your team members and the

Instructor.

Expected workload: 10 hours per week.

COURSE EVALUATION

Grades in this course will be based on the following assessments:

Five assignments - 30% Weekly online discussions - 15% Course Project - 25% (comprising proposal 10%, project report 90%) Final exam - 30%

Final grades will be assigned according to the following schedule:

Percentage Grade

90 – 100 A

80 – 89 B

70 – 79 C

60 – 69 D

<60 F

Course Assignments The four assignments will cover theoretical and practical aspects of software testing and quality assurance. They will require you to read the topic material, do online research and do some hands-on work with testing tools. Assignment Due Dates All responses to class discussion questions, comments to other students' responses, development assignments and course project deliverables are due during the week in which they are assigned and no later than 11:59 PM (23:59) (Eastern Time). The due dates for specific responses, comments, development assignments and course project deliverables will be given in the weekly lessons, as part of the posted thread, and in the course's calendar. Assignments submitted or modified after the assignment due date will assessed a late penalty as described below.

Page 5: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

Late Assignments If circumstances prevent the timely posting of assignments, please notify me by e-mail within CougarView. Unless you make prior arrangements with me, any assignment submitted after its assigned due date will be considered late. Late assignments may be submitted up to three days beyond their assigned due date and are subject to a 10% reduction in points for each day they are submitted beyond the assigned due date. Assignments not submitted by the assigned due date or within the three days following the assigned due due will be assessed a grade of zero (0). Because of course grade reporting requirements, the final deliverable for the course project must be submitted by the assigned due date -- no exceptions! Any final deliverable not submitted by the assigned due date will be assessed a grade of zero (0).

Online Discussions/Participation To maximize your learning, you are expected to participate actively in the weekly discussions. To receive maximum credit for participating, you must post a response to EACH discussion question of at least 150 words and comment on ONE of the other students' responses for EACH discussion assignment. There is, of course, no upper limit on the amount of discussion in which you can be involved in. The responses to other students' postings should add to the substance of the posting, request clarification, provide a different perspective, or challenge the assertions made by providing real or hypothetical scenarios that the original posting does not adequately address. Remember, the purpose of course discussions is to stimulate academic debate. Critical thinking is highly desirable! I will read every response and every comment, but I will not necessarily respond to every response or to every comment. I will, however, interject comments where necessary for clarification. Ground rules for on-line discussions

When responding to an original discussion question, name it in the subject line (e.g., Discussion 1, Dave’s question) and include the question in your response.

When responding to a previous comment, mention the specific point to which you are responding. Writing informative subject lines (e.g., “Re: Jane’s argument on xyz “) is a good way of doing this. Don’t just add “Re:” before the subject line of an earlier comment.

Avoid postings like “Good point” or “I agree.” These don’t count as acceptable comments in response to other postings for grading purposes. Add to the substance of the posting, request clarification, provide a different perspective, or challenge the assertions made by providing real or hypothetical scenarios that the other posting does not adequately address.

Be courteous. If you disagree with someone, respond to the subject, not the person.

Don’t forget to proofread your post!

Page 6: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

Discussion rubric

Criteria Unacceptable

(0 points) Excellent (10 points)

Participation None. Reads all posts. Contributes 2 or more times. (2 points)

Initial Posting None Post meaningful and relevant (if a question) and fully addresses the discussion question (if a comment). (2 points)

Follow-Up Postings

No follow-up responses to others.

Demonstrates analysis of others’ posts; extends meaningful discussion by building on previous posts. (2 points)

Content Contribution

Off-topic, incorrect, or irrelevant to discussion.

Factually correct, reflective and substantive contribution; advances discussion. (2 points)

References & Support

Includes no references or supporting experience.

Uses references to literature, readings, or personal experience to support answers/comments. (1 point)

Clarity & Mechanics

Long, unorganized or inappropriate content, or contains multiple errors.

Informative subject line, answer includes original question (see “Ground rules” above). Contributes to discussion with clear, concise comments formatted in an easy to read style that is free of grammatical or spelling errors. (1 point)

Course Project The project will involve practical work and a report. You are expected to carry out experimental testing on a piece of software using one or more software testing tool(s). Manual testing may also be acceptable. Either way, a test plan with appropriate test cases as well as detailed presentation of test results would be expected. You are expected to work for about 8 weeks on this assessment component. It will be a group effort undertaken by a team of 3 to 4 members. You should sign up for a project team before the end of week 2. The project will be due on Monday, December 8. You are required to send me a proposal for a project halfway through the semester (see weekly schedule below). The final proposal will need to be approved by me after consultation with your team before you start working on it. `

Page 7: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

ADMINISTRATIVE POLICIES AND ACADEMIC RESOURCES

CSU DISABILITY POLICY

If you have a documented disability as described by the Americans with Disabilities Act (ADA)

and the Rehabilitation Act of 1973, Section 504, you may be eligible to receive accommodations

to assist in programmatic and/or physical accessibility. We recommend that you contact the

Office of Disability Services located in Schuster Student Success Center, Room 221, 706-507-

8755 as soon as possible. Students taking online courses can contact the Office of Disability

services at http://disability.columbusstate.edu/ . The Office of Disability Services can assist you

in formulating a reasonable accommodation plan and in providing support. Course

requirements will not be waived but accommodations may be able to assist you to meet the

requirements. Technical support may also be available to meet your specific need.

ACADEMIC INTEGRITY

All students are expected to recognize and uphold standards of intellectual and academic

integrity. As a basic and minimum standard of conduct in academic matters that students be

honest and that they submit for credit only the products of their own efforts. Both the ideals of

scholarship and the need for fairness require that all dishonest work be rejected as a basis for

academic credit. They also require that students refrain from any and all forms of dishonorable

or unethical conduct related to their academic work.

Students are expected to comply with the provisions of Section III, "Student Responsibilities," of

the Columbus State University Student Handbook. This specifically includes the sections on

"Academic Irregularity," and "Conduct Irregularity." In particular, the Columbus State

University Student Handbook states:

“No student shall give or receive assistance in the preparation of any assignment, essay,

laboratory report, or examination to be submitted as a requirement for any academic course in

such a way that the submitted work can no longer be considered the personal effort of the

student submitting the work.”

Examples of Academic Dishonesty include but are not limited to: Plagiarism (see definition

below), giving or receiving unauthorized assistance on exams, quizzes, class assignments or

projects, unauthorized collaboration, multiple submissions (in whole or part) of work that has

been previously submitted for credit.

Plagiarism is any attempt to represent the work or ideas of someone else as your own. This

includes purchasing or obtaining papers from any person and turning them in as your own. It

also includes the use of paraphrases or quotes from a published source without properly citing

the source. All written assignments may be submitted for textual similarity review to

Turnitin.com for the detection of plagiarism.

Any work turned in for individual credit must be entirely the work of the student submitting the work. All work must be your own. You may share ideas but submitting identical assignments

Page 8: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

(for example) will be considered cheating. You may discuss the material in the course and help one another with debugging, however, I expect any work you hand in for a grade to be your own. A simple way to avoid inadvertent plagiarism is to talk about the assignments, but don't read each other's work or write solutions together. Keep scratch paper and old versions of assignments until after the assignment has been graded and returned to you. If you have any questions about this, please see me immediately. For assignments, access to notes, textbook, books and other publications is allowed. Stealing, giving or receiving any code, diagrams, drawings, text or designs from another person (CSU or non-CSU) is not allowed. Having access to another person’s work on the system or giving access to your work to another person is not allowed. It is your responsibility to keep your work confidential.

No cheating in any form will be tolerated. Please be aware that anyone caught cheating or

plagiarizing in this class will receive a “0” for the assignment/exam and may receive a “0” for

the course.

STUDENT COMPLAINT PROCESS

Information and resources for student complaints and academic appeals are located at the

following link on the Columbus State University website

http://aa.columbusstate.edu/appeals/.

COURSE ATTENDANCE POLICY Regularly participating in the class discussions and posting your responses to the discussion

questions as early as possible is important. If you do not respond to discussion questions or

comment on other students' responses for two or more weeks in a row, you may receive a WF.

If an emergency prevents you from responding to discussion questions or commenting on other

students' responses, please contact me to make alternative arrangements.

Electronic Devices and Academic Integrity: The use of any electronic device during a written

test or quiz is prohibited. This includes cell phones, handheld calculators, and laptops or tablets.

Any use of such a device during a test or quiz will be considered a breach of academic integrity

(see Academic Dishonesty above).

TECHNICAL RESOURCES HARDWARE REQUIREMENTS How do I know if my computer will work with D2L?

SOFTWARE REQUIREMENTS You will require the use of one or more software testing tools for your course project work. An integrated development environment (IDE) such as MS Visual Studio or Eclipse that lets you look at code and compile and run them may also be needed. The exact software used by you will depend on the nature of your project and the type of software testing involved. You will be

Page 9: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

responsible for the acquisition, installation and maintenance of these software. Your course instructor can only provide minimal support with this.

OTHER How to Access the Course

This course is being offered through CougarView (D2L). You can access CougarView at: http://cougarview.columbusstate.edu/

At this page, enter your CougarView login information and click on the "Login" button. Your CougarView username and password are the same as your CougarNet login.

If you try the above and CougarView will not let you in, please contact the GeorgiaView D2L Help Center as given on the login page. You can also try the CSU helpdesk at 706-507-8199. If you are still having problems gaining access after a few days in the class, please e-mail me.

Once you've entered CougarView, you will see a list of courses you have access to which contains some combination of the phrases "CPSC 6178" and "Fall 2014." If you don't see this entry in the list, please e-mail me.

Discussion Etiquette CSU is committed to open, frank, and insightful dialogue in all of its courses. Diversity has many manifestations, including diversity of thought, opinion, and values. Students are encouraged to be respectful of that diversity and to refrain from inappropriate commentary. Should such inappropriate comments occur, I will intervene as I monitor the dialogue in the discussions. I will request that inappropriate content be removed from the discussion and will recommend university disciplinary action if deemed appropriate. Students as well as faculty should be guided by common sense and basic etiquette. The following are good guidelines to follow:

Never post, transmit, promote, or distribute content that is known to be illegal. Never post harassing, threatening, or embarrassing comments. If you disagree with someone, respond to the subject, not the person.

Student Responsibilities As a student in this course, you are responsible for:

visiting the course home page in CougarView regularly to obtain course material and assessment work, to submit completed work, to participate in discussions and to check for any announcements;

managing your time and maintaining the discipline required to meet the course requirements;

completing all readings;

completing all assignments;

actively participating in weekly discussions;

deciding on and completing a final project after consultation with your Instructor;

Page 10: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

be a team player and do your fair share of the project work;

read any e-mail sent by your Instructor and respond accordingly.

Instructor Responsibilities As your instructor in this course, I am responsible for:

posting weekly lessons outlining the learning and assessment activities for the week; posting weekly discussion questions; reading all responses to discussion questions and comments to responses; monitoring and participating, when necessary, in weekly discussions; grading discussion questions, comments, quizzes, assignments and the course project

deliverables and posting scores within one week of the end of the week in which they are submitted; and

reading any e-mail sent by students and responding accordingly within 48 hours. Student Portfolio Students are encouraged to keep and maintain a portfolio of all of their work (assignments, projects, etc.) throughout their academic program. It is recommended that you keep a copy on your personal H: drive at CSU and back it up regularly on your own portable media or in the cloud.

COURSE SCHEDULE The following is the tentative schedule for the course. It is subject to change. A current schedule will be maintained in the CougarView calendar.

Week starting

Topic Assessments due

8/18 1. Introduction to software testing and software development life cycle models

Discussion 1 (Topic 1)

8/25 2. Software quality assurance and software testing Discussion 2 (Topic 2)

9/1 3. White box testing techniques Assignment 1, Discussion 3 (Topic 3)

September 1: Labor Day Holiday

9/8 4. Black box testing techniques Discussion 4 (Topic 4)

September 12: deadline for withdrawing with a ‘W’

9/15 Topic 4 (continued) Discussion 5 (Topic 4)

9/22 5. Integration testing

Assignment 2, Discussion 6 (Topic 5)

9/29 6. System and acceptance testing Prepare project proposal

Discussion 7(Topic 6)

10/6 7. Performance testing Project proposal Discussion 8 (Topic 7)

Page 11: CPSC 6178 SOFTWARE TESTING AND QUALITY … 6178 SOFTWARE TESTING AND QUALITY ASSURANCE ... Software Testing: ... hands-on work with testing tools. Assignment Due Dates

10/13 8. Regression testing

Assignment 3, Discussion 9 (Topic 8)

Oct. 13-14: Fall break

10/20 9. Ad hoc testing Discussion 10 (Topic 9)

10/27 10. Usability and accessibility testing Discussion 11 (Topic 10)

11/3 11. Automated testing Assignment 4, Discussion 12 (Topic 11)

11/10 12. Testing software security Discussion 13 (Topic 12)

11/17 Topic 12 (continued)

11/24 13. Test process and management

Assignment 5 No discussions this week

Nov. 26-30: Thanksgiving break

12/1 Topic 13 (continued) Discussion 14 (Topic 13)

12/8 Project report and Exam preparation Project due: Mon, Dec 8 Final Exam: Wed. Dec. 10: 10:30 a.m. - 12:30 p.m.

CS Program Objectives: Our graduates will have achieved:

1) A broad general education assuring an adequate foundation in science and mathematics relevant to computing.

2) A solid understanding of concepts fundamental to the discipline of computer science. 3) Good analytic, design, and implementation skills required to formulate and solve

computing problems. 4) The ability to function and communicate effectively as ethically and social responsible

computer science professionals.