一、软件测试的目的
提前发现和定位软件产品质量的薄弱环节,保证交付的软件质量满足客户需求,降低软件发布后的维护费用
二、软件开发模型
瀑布模型-----v模型------w模型-----敏捷开发模型
瀑布模型:前一阶段完成后,后一阶段才开始,测试仅仅是编码后的一个活动阶段,测试的重要性没有凸显出来
v模型:比较清晰的划分测试活动的不同级别,强调了测试在整个开发过程中的重要性,但是仍在编码后
w模型:在v模型左边都加了一个测试设计活动,体现了“尽早和不断测试的原则”
敏捷开发模型:将整个项目 分为较小的部分(迭代),每次迭代都被视为敏捷流程模型中的短时间框架
三、软件测试流程/开发流程
-----需求分析
-----制定测试计划
-------编写测试用例(评审测试用例)
------执行测试用例
-------提交bug并推动bug解决(bug等级:致命、严重、一般、提示)
----回归测试(对bug所在模块进行基本功能测试,整体冒烟测试,确保不会因bug修改而引起其他功能出现问题)
---编写并提交测试报告
四、软件测试方法
1、黑盒测试:不考虑内部代码如何实现,只检测软件的各功能是否可以实现,确认软件功能的正确性,关注具体的客户需求及软件功能。黑盒测试主要是为了发现是否有不正确或者遗漏的功能;输入是否能输出正确的结果
----黑盒测试用例设计方法:边界值分析法、等价类划分法、因果图法、随机测试法、错误猜测法、场景法
等价类:将全部输入数据合理的划分成若干个等价类,在每个等价类中取一条数据作为输入条件,就可以用少量代表性测试数据取得较好的测试结果。分为有效等价类(合理的、有意义的输入数据构成的集合)和无效等价类
边界值分析法:大量的错误是发生在输入输出范围的边界上,选定测试用例时应该选取正好等于、刚刚大于、刚刚小于边界值的值作为测试数据,而不是取等价类中的任意值,作为对等价类划分的补充
2、白盒测试:关注代码的具体细节,根据软件内部代码的逻辑结构分析来进行测试,主要是通过阅读程序代码来判断软件质量,关注代码的实现细节。主要对程序模块的所有独立执行路径测试一遍、对所有的逻辑判定,取“真”或“假”的两种情况都要测试一遍
-----白盒测试测试用例设计方法:逻辑覆盖、循环覆盖、基本路径覆盖、判定覆盖