软件测试理论
一、软件测试的定义:
测试是为了发现错误而执行一个程序或系统的过程
二、软件测试的目的:
1)测试是为了找出软件产品中的错误
2)通过修正错误提高软件质量
4)检验产品是否符合用户的需求,提高用户体验
三、测试分为哪几个阶段?
单元测试(针对于每个单元的测试,以确保每个模块能正常工作)、
集成测试(对已经测试过的模块进行组装,进行集成测试,目的在于检验与软件设计相关的程序结构问题)
系统测试(检验软件产品与系统的其他部分协调工作)
验收测试(检验软件产品质量的最后一道工序,主要突出用户的作用,同时软件开发人员也有一定程度的参与)
四、软件测试的分类:
1)黑盒/白盒测试
2)静态/动态测试
3)自动化/手工测试
4)计划/随机
5)新功能/回归
6)单元/集成/系统/验收
五、软件测试的过程模型:
v模型,w模型,H模型,X模型
六、软件测试的生命周期:
以V、W模型为概念基础,主要以H模型为主
七、目前主要的测试用例设计方法:
1)白盒测试:逻辑覆盖 ,循环覆盖 ,基本路径覆盖
2)黑盒测试:等价类划分 ,边界值分析法,因果图法,场景发等等
八、如何测试一个水杯?
1)功能度:用水杯装睡看看漏不漏;水能不能被喝到
2)安全性:杯子有没有毒或细菌
3)可靠性:杯子从不同高度落下的损坏程度
4)可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
5)兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
6)易用性:杯子是否烫手,是否有防滑措施,是否方便饮用
7)用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细的描述
8)疲劳测试:将杯子盛上水放24小时检查泄露时间和情况;盛上汽油放24小时检查泄露时间和情况等
8)压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
九、软件缺陷都包含哪些内容?
编号、标题、报告人、报告日期、版本号、缺陷类型、优先级、缺陷描述、重现步骤、实际结果、预期结果
十、Alpha测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行
Beta:由软件的最终用户在一个或多个用户场所来进行的,开发者通常在不在现场,用户记录测试中遇到大问题并报告给开发者