Reading Instructions
Comp 3705 Advanced Software Engineering: Software testing
Instructor: Sada narayanappa
TA: N/A
Books
- Burnstein, I., Practical Software Testing A Process-Oriented Approach, Springer-Verlag, 706 p., 2003, ISBN: 0-387-95131-8.
- Laboratory sessions
- Lectures
The exam consists of questions from the book written by Burnstein, the laboratory sessions and lectures. The most important parts in the book are discussed during the lectures and labs. Hence, these parts are important to know. However, there are other parts in the book that are important. This document points out which sections those are most important in the book and how the book should be read. In some sections in the book, there are a lot of details, which when needed, can be looked up, but are not required to know by heart. The importance of the sections are divided into very important, important, should know, not important and not included.
Lectures
The parts covered in the lectures are the most important (=very important) parts in the course. There are some parts in the lectures (e.g. reliability and inspections), which are not included in detail in Burnstein, but these are equally important.
Labs
The parts covered in the labs are important.
Part I Introduction and general principles
- Section 1 Gives an introduction into the area. This section should be read thoroughly. Important areas are terminology, quality and testing maturity model (TMM).
- Section 2 Gives an introduction into the area. This section should be read thoroughly. Important areas are definitions and principles.
- Section 3 Gives an introduction into the area. This section should be read thoroughly. Important areas are origin of defects and defects made in different phases of development.
- Lecture 1 Gives an introduction in software testing, discusses why software testing is important, presents the course plan and the project in the course.
Part II Black-box test techniques, Reliability and Usability
- Section 4 Read thoroughly. Very important areas are random testing, equivalence partitioning, boundary value analysis and error guessing. Important areas are cause-and effect graphing and state-transition testing. In addition, other techniques discussed at the lecture should also be known.
- Section 12 The important parts in this section is operational profiles, usage models, statistical testing, reliability, reliability (growth) models and usability.
- Lecture 2 Further discusses the topics in section 4 and 12, and extends some of the concepts, in particular, statistical testing / usage-based testing and reliability growth models.
Part III Inspections and white-box test techniques
- Section 5 Read thoroughly. Very important areas are control flow testing and data flow testing. Important areas are cyclomatic complexity, loop testing and mutation testing.
- Section 10 This section is important together with the techniques discussed at the lecture.
- Lecture 3 Further discusses the topics in section 5 and 10, and extends some of the concepts, in particular, software inspections, reading techniques and fault content estimations.
Part IV Lifecycle and documentation
- Section 6 This section describes the levels of testing. Important areas are unit test, integration test, system test and acceptance test. It is important to know the goals, types, strategies and key activities performed.
- Section 7 This section describes the goals, policies, plans and documentation for software testing. It is important to know how goals and policies can be stated and the purpose of those. It is very important to know what is included in the test documentation and why.
- Appendix II This section is connected to the documentation and gives an example of a test plan based on an IEEE standard (IEEEStd 829-1998). This section can be used to further understand the test plan documentation.
- Lecture 4 Discusses the topics in Section 6, 7 and Appendix II. It also gives an introduction to simulation models.
Part V Organization and tools
- Section 8 This section discusses the test organization. It is important to know the advantages and disadvantages of different kinds of test organizations (discussed at the lecture). Important areas are skills, test group, roles and integration of testing activities.
- Section 14 This section discusses the types of tools that can be used in the testing activities. Important areas are evaluation of tools, tool categories (different kinds of tools) and test automation.
- Lecture 5 Further discusses the topics in Section 8 and 14, and extends some of the topics, in particular, a more extensive discussion of test automation and different kinds of test organizations is provided.
Part VI Metrics and TMM,
- Section 9 This section discusses metrics and how to monitor and control the testing process. Important areas are monitoring, controlling, measurements, test completion and configurations management. It is important to know the purpose of metrics for the testing process, what metrics can be used and how they can be developed.
- Section 16 This section discusses test process improvement and describes the testing maturity model (TMM). Important areas are process improvement, assessment and TMM. It is important to know the purpose of test process models and how they can be used, and in particular TMM and TIM (TIM is discussed in the lecture).
- Lecture 6 Further discusses the topics in Section 9 and 16, and extends some of the topics, in particular, a more extensive discussion of test process improvement (models) is provided.
Other parts
- Lecture 7,8 (guest/research paper presentation) Not included in the exam, but is important in order to understand the link between theory and practice.
- Section 11: Not included in the course. However, it could be interesting to read and sometimes it helps to understand other parts of the book.
- Section 13: Not included in the course. However, it could be interesting to read and sometimes it helps to understand other parts of the book.
- Section 15: Not included in the course.
- Appendix I: Not included in the course. However, it could be used as a source of information for the project.
- Appendix III: Not included in the course.