关于
32 学时,16 上课、16 实验
教材:
- Introduction to Software Testing 2e
- 软件测试基础(原书第二版)李楠,2018
- Foundations of Software Testing
- 软件测试方法和技术(第 3 版)朱少民,2014
评分:
- 10% 出勤
- 40% Quiz 和作业、实验报告(大部分)
- 50% 期末考试
五个关键问题
为什么要测试软件
- 软件定义行为 behavior
- 网络路由、金融、交换网络、其他基础设施 infrastructure
- 软件的市场更大、竞争更激烈、用户更多
- embedded control applications 软件是控制系统的核心部分
- 敏捷过程增加了测试人员的压力 agile processes put increased pressure on testers
- programmers 必须进行单元测试,with no training or education
- 测试是功能需求的关键,但是谁 builds those tests?
- 软件是一个包围人类文明的外壳(skin)
- 著名软件 Failures:
- 浮点数转换
- 模块升级
- 没有做好功能测试
- 没有足够的压力测试
- 12306 崩溃
- 正面例子:阿里双十一
- 不测试的成本 cost:
- poor 程序管理员会说:“测试太昂贵了”
- 测试是软件开发中最耗时间、最贵的部分(80%)
- 不测试的损失更高
- 越早测试,修复成本越低;早期不测试,测试的成本就增加
- 在开发之后才计划测试,这样做的代价特别昂贵 prohibitively expensive