iSYS 480: Software Quality Assurance and Testing
Contents
This course focuses on the processes, methods and techniques for developing quality software, assessing software quality, and maintaining software quality. Software testing processes at the unit, module, subsystem, and system levels is discussed. Testing methods covered include: automatic and manual generation of test data, static vs. dynamic analysis, functional testing, inspections, and reliability assessment. Cross-listed with IT as IT 480.
This course (iSYS 480) is a prerequisite for the following iSYS course(s):
This course is normally scheduled every spring semester.
(
under construction...)
The following content areas will be covered.
- QA Fundamentals (about 2 hours)
- Testing Life Cycles (about 2 hours)
- Tracking Software Changes (about 3 hours)
- Reviews and Inspections (about 2 hours)
- Principles of Testing (about 7 hours)
- Defects and Problem Reporting (about 7 hours)
- Automated Testing (about 10 hours)
- Project Documentation (about 7 hours)
- Requirements Documentation (about 5 hours)
- Requirements-Based Testing (about 7 hours)
- Standard Test Documentation (about 3 hours)
- Continuous Improvement (about 7 hours)
Additional topics may also be covered based on time and student interest.
By the end of this course, you should be able to
- construct a QA plan for a hypothetical organization
- construct a QC plan for a hypothetical organization
- dramatize the benefits of the overall QA process for both the development and testing teams
- explain how system projects begin and how projects are reviewed
- explain product management life cycle phases, inputs and outputs
- explain quality assurance and test activities performed in typical system development projects during the SDLC phases
- explain the overall testing life cycle and how it covers multiple phases of the SDLC
- explain the purpose of a mission statement
- explain the SDLC structured approach to designing and building application systems
- define "change-control" and explain how it is used to monitor and manage software changes
- define "scope creep" and explain ways to prevent it
- explain how version control manages multiple versions of software applications
- explain system configuration management procedures
- explain the evolution of the inspection process
- explain the similarities between reviews and inspections
- explain the value that occurs when inspections are used
- explain what inspections are designed to accomplish
- explain what reviews are designed to accomplish
- explain who uses inspections and why
- list and explain test products that can be reviewed
- list and explain the roles and responsibilities of review participants
- list, define, and explain review critical success factors
- simplify a set of testcases by removing redundant testcases
- explain the concept of severity and priority as they relate to defects
- explain the fundamental principles of reporting defects
- explain what items are included in a problem report
- explain why software has defects
- construct an automated test framework for a specific problem domain in a hypothetical organization
- utilize an automated testing tool to write a suite of tests
- construct a project document for a hypothetical situation based on a requirements specification
- change a moderately complex requirements specification in response to a simulated user request, and predict the effect of the change on the overall time and budget estimates of the project
- utilize a requirements specification to write a suite of testcases
- discuss how and when a test plan should be developed and how the test plan guides the testing effort
- apply systems, decision and quality theory and information systems development techniques and methodologies to initiate, specify and implement a relatively complex multi-user information system originating in a quality conscious organization involved in continuous improvement of its processes
- implement physical flows as well as a complete work flow at an enterprise or multi-department level
- utilize development methodologies compatible with the concept of process of continuous improvement
Final textbook choice is determined by the instructor, who may choose a textbook similar to one the following. This list can give you an idea of the course topics, coverage, and depth.
- Craig, Jaskiel , Systematic Software Testing, Artech House Computer Library, 2002(ISBN: 1580535089)
- Craig, Jaskiel, Software Testing: A Craftsman's Approach (2nd), CRC Press, 2002(ISBN: 084937345X)
- Culbertson, Brown, Cobb, Rapid Testing, Prentice-Hall, 2002(ISBN: 0-13-091294-8)
- Henry, Hanlon, Software Quality Assurance, Prentice Hall, 2007(ISBN: 0131435817)
- Lewis, Software Testing and Continuous Quality Improvement (2nd), CRC Press, 2004(ISBN: 0849325242)
- Utting, Legeard, Practical Model-Based Testing: A Tools Approach, Morgan Kaufmann, 2006(ISBN: 0-12-372501-1 )
- Young, Pezze, Software Testing and Analysis: Process, Principles and Techniques, Wiley, 2007(ISBN: 0-471-45593-8)
Additional readings may be assigned by the instructor.