《软件测试理论与方法》课程教学大纲

18/11/08 15:54:43 作者: 点击:[] [小] [中] [大]

1、 课程名称:软件测试理论与方法

2、 课程代码:SE31113

3、 学时和学分:36 Hours,2 Credits

4、 适用专业:Software Engineering

5、 先修课程:

SE21101,Introduction to software engineering

SE31105,Object-oriented technique and UML

SE11005,Fundamental of Programming

6、 使用教材:

Ron Patton, Software Testing,机械工业出版社, 2007.

7、 参考书目:

(1)Cem Kaner, Testing Computer Software,机械工业出版社, 2005.

(2)Glenford J. Myers, The Art of Software Testing,机械工业出版社, 2006.

(3)Cem Kaner, Lessons Learned in Software Testing,机械工业出版社, 2006.

8、 课程描述(200-300字左右):

Software Testing is a core course for students who major in software engineering. This course will examine fundamental software testing and related program analysis techniques. In particular, the important phases of testing will be reviewed, emphasizing the significance of each phase when testing different types of software. The course will also include concepts such as test generation, test oracles, test coverage, regression testing, mutation testing, program analysis (e.g., program-flow and data-flow analysis), and test prioritization. The main content of this course is described as the following statements:

1) Introduction

2) Software Process and Software Testing

3) Testing Types and Testing Models

4) Software Testing Planning

5) Black Box Testing

6) Black Box Testing

7) White Box Testing

8) White Box Testing

9) Object Oriented Testing

10) Testing for Software Security

11) Testing Web Applications

12) Automated Testing and Test Tools

13) Stress Testing

14) Foreign-Language Testing and Usability Testing

15) Configuration and Compatibility Testing

16) Software Testing Management

17) Software Quality Assurance

18) Be a Good Tester

9、 教学目标(需明确各教学环节对人才培养目标的贡献)

知识贡献:

This course will examine fundamental software testing and program analysis techniques. In particular, the important phases of testing will be reviewed, emphasizing the significance of each phase when testing different types of software.

能力贡献:

Students will learn the state of the art in testing technology for object-oriented, component-based, concurrent, distributed, graphical-user interface, and web software. In addition, closely related concepts such as mutation testing and program analysis (e.g., program-flow and data-flow analysis) will also be studied. Emerging concepts such as test-case prioritization and their impact on testing will be examined.

素质贡献:

By learning this course, the programming quality of students will be improved, and they should be familiar with the state-of-the-art in software testing. Students should also be aware of the major open research problems in testing.

10、 教学方法:

(1)Theoretical learning

内 容

学 时

Introduction

2

Software Process and Software Testing

2

Testing Types and Testing Models

2

Software Testing Planning

2

Black Box Testing

2

Black Box Testing

2

White Box Testing

2

White Box Testing

2

Object Oriented Testing

2

Testing for Software Security

2

Testing Web Applications

2

Automated Testing and Test Tools

2

Stress Testing

2

Foreign-Language Testing and Usability Testing

2

Configuration and Compatibility Testing

2

Software Testing Management

2

Software Quality Assurance

2

Be a Good Tester

2

(2)Practicum

1) Learning practical testing methods and tools and applying them in practical development process with concrete experiment (in IDE of Java, C++, etc.);

2) Writing experiment report.

11、 考核及成绩评定方式:

The grade of the course will be determined as follows: 20% classes, 80% final exam.