• 软件测试的正向理解
o 验证软件的正确性,给用户以信心。
• 软件测试的反向理解
o 检测程序的错误,发现以前未发现的错误。
• 狭义的软件测试
o 仅仅指动态测试,运行程序以检测错误,验证软件是否符合用户需求,是否可以正常工作。
• 广义的软件测试
o 不仅是动态地运行程序,还包括程序代码、设计、文档的审查活动,是静态测试+动态测试。
• 测试=V&V
o verification验证:验证程序是否满足文档中说明的需求。
o validation有效性确认:确认软件满足用户的真正需求。
• TestOracle的来源,如何确定预期测试结果
o 软件测试结果的正确性,有时不易判断。testoracle的来源主要有用户期望、产品愿景、竞品、常识、数据统计等。当给定一个测试用例的输入时,要把经过该系统的实际输出与测试预言所期望的输出结果作对比。
• 黑盒测试
o 把一个软件看做一个黑盒,我们不关心程序内部结构,只关心输入数据和输出数据。
• 白盒测试
o 把盒子打开,分析程序源代码和结构的测试。
• 静态测试
o 不实际运行程序,而只是静态地对代码、界面和文档进行审查,发现其中的不合理或者错误。
• 动态测试
o 实际运行程序,给定一个测试用例输入,看程序的输出是否与预期输出相符的测试。
• 单元测试
o 又称模块测试,针对软件设计中最小的单位——程序模块进行测试,检验其正确性的过程。
• 集成测试
o 又称组装测试,在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。
• 系统测试
o 将软件系统看做一个整体进行测试,包括对系统的功能测试、性能测试以及运行系统的软硬件环境的测试。
2021-11-10 00:14:06
33KB
软件测试
1