Welcome to SWE 637 Software Testing Jeff Offutt
Learning Objectives Students will become better testers Knowledge and skills for creating high-quality tests at all levels Students will become better programmers More aware of potential problems in software Knowledge and skills for creating high-quality developer tests Students will become better engineers A quality-first engineering mindset Know how to both program (synthesis) and test (analysis) in a seamless, unified manner Students will become better thinkers Encouragement to approach software problem solving in logical, analytical ways 16-Sep-18 © Offutt
Class Overview Class URL : http://www.cs.gmu.edu/~offutt/classes/637/ Contact info, TA Objective : How to design effective tests, both at the unit and system level Readings : Posted in schedule Quizzes : Weekly, first 10-15 minutes of class One retake allowed, max 80%, retake grade counts Replaces traditional midterm exam Homework : Almost weekly Due on paper at the beginning of class Final : Comprehensive closed-book 16-Sep-18 © Offutt
Balance of Material State-of-practice (what we do) 10%-30% Varies by company State-of-art (what we know) 40%-60% Science Fiction (Probably coming soon) 25% Fantasy (Never meets reality—unrealistic assumptions) 5% This is fun and will help improve your thinking 16-Sep-18 © Offutt
You can, but I have to advise against it. Prerequisites SWE 619 or (CS 540 & CS 571 for CS major) Discrete math and programming, OO concepts (type theory and contracts) General software engineering Intent : Prerequisites define what you need to know before taking a class to succeed in the class Not knowing that material means you are taking the class “at risk” That is your responsibility GMU’s registration system lets you register for any SWE class Please do not ask if you “can take the class without the prerequisites” You can, but I have to advise against it. 16-Sep-18 © Offutt
Textbook Goal Get the math right first, so that we can make the concepts clear and simple Book focuses on test design and other technical aspects of testing software Assumes readers are programmers and know discrete math Traditional books treat testing in terms of the lifecycle Unit testing, integration testing, system testing, … Our book starts with structures that can describe software artifacts at any level, then criteria based on those artifacts Instead of how testing is done, we cover testing how it should be done and how it will be done http://www.cs.gmu.edu/~offutt/softwaretest/edition2/ 16-Sep-18 © Offutt
We do not use any funds generated from sales of our book personally Textbook Note The authors donate all royalties from sales of the book to The Software Engineering Scholarship Fund at GMU We do not use any funds generated from sales of our book personally 16-Sep-18 © Offutt
Schedule URL : http://www.cs.gmu.edu/~offutt/classes/637/sched.html No class on Labor Day Please read chapters before class Slides and homeworks posted before class If I update slides from what’s posted today, I will add a “new” image to the schedule Handouts and notes are there for your benefit 16-Sep-18 © Offutt
Discussion Board Use SWE 637 uses Piazza https://piazza.com/gmu/spring2017/swe637/home You should have gotten an invitation today If not, check your Mason email or check with me Joining the discussions will count your participation grade Questions should be posted to an appropriate thread Answered by instructor or TA Questions and answers available for all to see 16-Sep-18 © Offutt
Grading Policy 15% : Participation (discussion board & in class) 20% : Homework assignmentss 30% : Quizzes 35% : Final – closed book, in class, comprehensive > 90% : definitely an A or A- (possibly slightly lower) > 80% : definitely a B or A (possibly slightly lower) > 70% : definitely a C, B or A (possibly slightly lower) One A+ — the top grade in the class In the past, usually about 30% As and 50% Bs 16-Sep-18 © Offutt