200 likes | 210 Views
CIS841 focuses on preparing students to become proficient software testers and researchers in software testing. Topics covered include understanding software faults, evaluating current literature, and planning effective testing efforts.
E N D
CIS841 – Verification and Validation Dr David A. Gustafson dag@cis.ksu.edu http://www.cis.ksu.edu/~dag
Goals • Prepare students to be software testers and researchers in software testing. In particular, students should understand the current state of the art in software testing, be able to read and evaluate current literature in software testing, and be able to plan an effective testing effort.
Specific Goals of CIS841 • understanding of software – faults, failures, errors, and testing • knowledge of “state-of-the-practice” and “state-of-the-art” (current articles) • understanding of issues, terminology, foundations, and techniques • learning to read the literature
Conduct of Course • TU 9:30-10:45 am • Discussions/Lectures • Homework • Exams • Read Syllabus • Read announcements
Crib sheets • For each exam, I will allow each student to bring in one (or more on the final) 8.5 by 11 sheets of paper, hand-written, both sides. • The development and writing of the crib sheet must be your own work. Do not show your cribsheet to others. Do not use someone else’s cribsheet. Cribsheets that share too much to be original will be turned in the honor system. • The crib sheet(s) will be turned in with the exam.
Off Campus • Unless noted, due dates for off-campus students are the same as for on-campus students – contact me if this is a problem • For in class work, email as soon as possible but definitely before next class (on-campus) • Including today’s work • Turn in proctor information as soon as possible
Active Learning • TTYP • Venn Diagrams • Classification • Definitions • 1 minute paper • Meta-cognition
Exams cover • Lectures and Discussions • Homework • Articles and Readings • PreLecture Quizzes
Think not regurgitate • Quotes are someone else’s thoughts, not your thoughts. When I see a quote on a student’s paper or exam, I am not sure if the student understood what was said in a quote. • Any quote must be acknowledged as a quote(e.g. “…”), referenced and explained.
Grading • two midterms (100-150 pts) • one final (200 pts) • Prelecture quiz (4-10 pts) • homework (10-20 pts) • due beginning of class (10% off) • 6 main tasks (30-100 pts) • Final paper (100 pts) • 90% of total points is an A, 80% is a B
Grade Information • will be available on kstate online • Online.ksu.edu
Availability of Lectures • world wide web • Powerpoint • Pre • Post • Tegrity video • Link from class web page below my webpage • www.cis.ksu.edu/~dag
Articles • current information • sometimes unproven • different viewpoints • different styles, terminology, levels • little background information
How do you read an article? • My approach • Read abstract • Check refs • Read conclusions • Only then, read paper
Program X int x, y; char out; cin >> x >> y; out = ‘A’; if (x < y) out = ‘B’; if(x > 10) out = ‘C’; if (y < 40) out = ‘D’; cout<< out;
TTYP1 • Def: Subdomain: an area (subset) of the input domain such that all points in that subset are treated identically by the program. • Draw the x-y space (input domain) and find the subdomains. Label each subdomain with the output value returned.
Program Xfault1 int x, y; char out; cin >> x >> y; out = ‘A’; if (x < y) out = ‘B’; if(x > 10) out = ‘C’; if (y <= 40) out = ‘D’; cout<< out;
TTYP2 • Def: failure set: a subset of the input domain that displays the failure. That is, the external behavior of the program is different (incorrect) on points in that subset • Draw the failure set on the diagram of the x-y space.
For Thursday, Aug 23 Write a correct program in C++ that has two numeric inputs, and a deterministic output. E.g. area Find 1) a fault that would be very easy to find, and 2) a fault that would be very hard to find. Estimate the number of the inputs that show each fault. (a fault would be a change to something in the correct version that would make it produce the wrong output for some inputs)
1 minute paper • What questions about testing would you like to answer? Or be answered?