按开发阶段来分:单元测试,集成测试,系统测试,验收测试
按测试的实施单元来分:开发方测试,用户测试,第三方测试
按测试技术:白盒测试,黑盒测试,灰盒测试
软件测试的目的
测试的目的,是想以最少的人力,物力和时间找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件的质量,回避软件发布后由于潜在的软件和错误造成的隐患以及带来的商业风险。
什么是软件测试
没有统一的标准,最经典的定义是:在规定的条件下岁程序进行操作,以发现错误,对软件质量进行评估的一个过程
什么是软件的质量
软件质量包括:内部质量,外部质量,使用质量。
软件质量:软件满足规定或潜在用户需求的能力。
软件测试的内容
根据测试的定义,测试贯穿于整个软件生命周期中。在开发的不同阶段,需要测试不同的内容。包括文档,软代码,数据等。
软件测试与软件质量的区别
质量保证(QA):主要工作是通过预防,检查与改进来保证软件质量。它所关注的是软件质量的检查和测量。着眼软件开发的过程,步骤及产物,而不是对软件进行剖析进而找出问题。
软件测试:测试关心的不是过程的活动,而是对过程的产物以及开发的软件进行剖析。
测试人员要“执行”软件,对过程中的产物——开发文档和源代码进行走查,运行,以找出问题,报告质量。测试人员必须假设软件存在问题,所以所作的操作都是为了找出更多的问题,而不是仅仅验证每一件事是正确的。
黑盒测试用例设计方法
1、等价划分方法
2、边界值分析方法
3、错误推断方法
4、因果图方法
5、判定表驱动分析法
6、正交试验设计方法
7、功能图分析方法
等价划分法是把所有可能的输入数据,即程序的输入域划分成为若干部分,然后从每一部分的子集选取少量具有代表性的数据作为测试用例。可划分为:有效等价类,无效等价类。
划分原则:
1、在输入条件规定的取值范围,确定一个有效和两个无效等价
2、在输入条件规定“必须如何”的条件下,确立以个有效等价和一个无效等价
3、输入布尔量的条件下,确定一个有效类和一个无效类
4、在输入条件规定输入数据的一组值,并且程序要对每一个输入值分别处理的情况下,可确定n个有效等价类和一个无效等价类
5、在规定了输入数据必须遵守的规则情况下,
边界值分析法(是一种补充等价划分法的测试用例设计技术。边界值是一种很实用的黑盒测试方法。具有很强的发现错误的能力。它的测试用例来源于等价类的边界值。实践证明,
大量的故障往往发生在输入定义域或输出值域的边界上,而非内部)
如:
规定输入值范围为-1~+1,则测试用例设计为:+1,-1,+1.01,-1.01
规定输入的记录可容纳1~255条,则测试用例的设计为:0,1,255,256
因果图法
因果图最终生成的就是判定表,适合于检查程序输入条件的各种组合情况
错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误从而有针对性的对设计测试用例的方法
错误推测法德基本思想,列举出程序中所有可能的错误和容易发生错误的特殊情况,根据他们的选择测试用例。例如:在单元测试时曾列出饿许多在模块中常见的错误,输入表格或输入空格只有一行,这些都是容易产生错误的情况
场景分析法
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成、
场景,同一时间的触发顺序和处理结果就形成了事件流。这种软件设计方面的思想可以引入测试中来