(2)beta测试:由最终的用户在实际的环境中进行测试使用。(对于一些没有固定用户群体的公共类软件(办公软件、游戏、输入法),一般会发行公测版(beta版),让用户免费使用,发行bug后进行信息反馈。
软件测试模型
1、概念:测试模型体现的是开发和测试的对于关系
2、V模型
优点:
1)明确标明了测试过程中存在的不同级别
2)清楚地描述了测试阶段与开发过程各阶段的对应关系
3)V模型的测试策略既包括了底层测试(代码级的测试),又包括了高层测试(需求级的测试)
缺点:
1)把测试过程作为需求分析,概要设计,详细设计,编码之后的一个阶段,容易让人理解为测试是软件开发的最后一个阶段
2)没有明确说明早期的测试,不符合越早测试和不断测试的原则
深入理解:
在编码之前,我们需要对相关的需求文档、开发文档进行测试—越早测试;
根据相关文档,在测试执行之前编写各个阶段的测试计划、测试用例等文档—测试过程是有计划性的。
注意:
如果做单元测试,需要有详细设计文档;
如果做集成测试,需要有概要设计文档;
如果做系统测试,需要有需求文档;
W模型
优点:
符合今早测试和不断测试的原则;
符合实际工作中的测试活动
软件测试的划分
一、测试技术划分:
黑盒测试(即功能测试)--必须的
通过软件的外部表现来发现其缺陷
在程序界面处进行测试,只是检查程序是否按需求规格说明书的规定正常实现
白盒测试(逻辑结构测试/结构测试)--代码、可选的
检查是否所有的结构及路径都是正确的,重点看代码的逻辑、算法、结构是否正确,要求必须懂得代码,需要编写白盒测试用例。
灰盒测试
介于白盒测试与黑盒测试之间的测试;
关注输出对于输入的正确性;同时也关注内部表现,是通过一些表征性的现象、事件、标识来判断内部的运行状态。
在白盒测试时,白盒应用较多;
在集成测试时,灰盒应用较多;
在系统测试、验收测试时一般不会使用白盒测试和灰盒测试。
二、按是否需要运行代码划分
静态测试:对界面、文档、代码(代码的规范性,检查变量的命名,注释的频率,编程的规范性)。
不需写测试用例,只需要有代码审查单
一般经常把白盒测试和静态测试的要素结合在一起,形成“静态白盒测试”
动态测试:
三、按软件特性分类
功能测试(手工或者自动化工具)
根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们是否满足设计需求
性能测试(分布式软件:B/S C/S)
评价一个产品和组件与性能需求是否符合的测试。包括负载测试、压力测试、数据库容量测试等。
必须工具:loadrunner
随机测试
称为猴子测试,是指测试中所有的输入数据都是随机产生的,其目的是模拟用户的真实操作,随意向系统输入操作。