SSW 567 Software Testing, Quality, and Maintenance
Total Page:16
File Type:pdf, Size:1020Kb
School of Systems and Enterprises Stevens Institute of Technology Castle Point on Hudson Hoboken, NJ 07030 SSW 567 Software Testing, Quality, and Maintenance PURPOSE: This memorandum provides the Syllabus for SSW 567 TEXTS: • A Practitioner’s Guide to Software Test Design by Copeland - Artech House [PG] • Software Testing: A Craftsman’s Approach – Jorgensen [ST] • Software Measurement and Estimation by Laird – Wiley (optional) [SME] SOFTWARE: • Open Office/Microsoft Office • Possibly the ATM Simulation software system by Russell C. Bjork [ATM] • Freeware tools for Configuration Mgmt (e.g., Subversion), Test Mgmt (e.g., Testopia) and Defect Mgmt Tool (e.g., Bugzilla, Mantis) COURSE DESCRIPTION: This course is an in-depth study of software testing and quality throughout the development process. The successful student will learn to effectively analyze and test software systems using a variety of methods as well as to select the best-fit test case design methodologies to achieve best results. There is extensive hands-on project work in this course. Emphasis is placed on testing as technical investigation of a product undertaken to determine the system quality and on the clear communication of results, both of which are crucial to success as a tester. COURSE PREREQUISITES: Working knowledge of C, C++, or Java (or some other programming language). Extensive programming will not be required. COURSE OUTLINE SSW 567 School of Systems and Enterprises Stevens Institute of Technology Castle Point on Hudson Hoboken, NJ 07030 Readings in MODULE DESCRIPTION PROJECT Texts Definitions of Testing, QA, Install configuration Lecture 1: Getting [PG] ch. 1, 15, 16; faults, failures & their Costs; mgmt tools, write Started [ST] Ch 1 & 2 Fundamental Issues of testing initial program Lecture 2: SCM Concepts, Processes, [ST] Ch 3: This is Test initial program - Configuration and Tools Continuous background seeded bugs Management Integration. Models: Finite State [ST] CH 7, Ch 4.3.1 Decision Table Lecture 3: Behavioral Machines, Decision Tables, & 4.3.2, 4.3.5; [PG] Testing, state Models Markov Chains, Statecharts ch. 5,7 transition testing Lecture 4: Inspections, Architecture [PG] 1, [ST] 22 Requirements review Requirements Testing Reviews Design Complexity and Metrics [PG] ch. 3, 4, 8, 10, Unit, Static Analysis Lecture 5: Design and Equivalence Classes, 11; [ST] 4.1, 4.2, and code coverage Unit Testing Boundary Conditions, Static 5,6, 8, 16.4 – For tools, eq and Analysis Ref. boundary analysis Integration Testing Process, Lecture 6: Orthogonal Plan, Strategy & Tools; OA [PG] ch. 6; [ST] 13, Orthogonal Array Array & Integration construction, test & 20 Exercises Testing techniques, continuous integration Functional, Negative, Lecture 7: System [PG] ch.14; [ST] 14, Scenario, Soap Opera, System Testing Testing 18, 21 Mutation Usability Test Lecture 8: Usability Usability Testing Comparison of Testing Websites Lecture 9: Security Security Lifecycle, Issues & Web Goat, [PG] ch.9 Testing Testing Webscarab Lecture 10: Reliability, operational profile, Regression & [PG] ch. 5, 10 [ST] Performance and performance, load & stress Performance Testing 14.8, 14.9 Reliability Testing testing [ATM] Lecture 11: Test Test Progress Metrics, Progress, OOT Measurements & Reports; OO [PG] ch.16; [ST] 15 None Testing Issues Scope, Approach, Criteria, Lecture 12: Test [PG] ch. 12, 13, 14; Test Effort Estimation, Risk Planning [ST] 12, 17 Test Plan Assessment & Mitigation School of Systems and Enterprises Stevens Institute of Technology Castle Point on Hudson Hoboken, NJ 07030 COURSE OBJECTIVES: This purpose of this course is to provide the students with the following capabilities: • Develop effective test plans and test strategies throughout the system lifecycle. • Select best fit test case design methodologies • Prevent system defects and failures through appropriate early defect removal techniques such requirements walkthroughs, code reviews and integration test; • Design and implement tests and measure the results; • Measure the progress of the testing process; • Manage configurations and trouble reports; • Project the expected reliability and quality of a release; • Understand and test for limited security vulnerabilities; • Understand and use (limited) automated testing tools; • Practice learning through lab exercises & team work. DELIVERY MECHANISM: This course consists of lectures, readings, videos, quizzes, and projects. Stevens on-line system is the delivery mechanism, with the exception of lectures and in-class exercises for face-to-face courses. Copies of the lectures are posted on the on-line system. STUDENT PERFORMANCE ASSESSMENT: The course has weekly quizzes (~130 points), weekly projects (~130 points), and a final (~100 points). All are graded. GRADING AND CRITERIA FOR PASSING: Final grades will be awarded in accordance with the standard Stevens grading scale: 5/5/14 1-3 .