1.两种常用的测试技术:
软件产品与其他产品不同,其最大的成本是检验软件的错误、修正错误的成本,以及为了发现这些错误所进行的设计测试程序和运行测试程序的成本,两种常用的测试技术为,基于“白盒”
2.软件测试及其目标:
软件测试可以定义为,按照规定规程,发现软件错误的过程,软件测试有两个目标,一为预防错误,二为发现错误。
3.软件测试和软件调试的区别:
测试从一个侧面证明程序员的“失败”,而调试是为了证明程序员的正确,测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序员是否通过测试,调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的,测试是有计划的,并要进行测试设计,而调试是不受时间约束的,测试是一个发现错误、改正错误、重新测试的过程,而调试是一个推理过程,测试的执行是有规程的,而调试的执行往往要求程序员进行必要推理以至直觉的“飞跃”,测试经常是由独立的测试组在不了解软件的条件下完成的,而调试必须由了解详细设计的程序员完成,大多数测试的执行和设计可由工具支持,而调试时,程序员能利用的工具主要是调试器。
4.测试用例:
指的是为了发现程序中的故障而专门设计的一组或多组数据。
5.测试过程模型:
环境模型、对象模型、错误模型。
6.软件错误类别:
结构错误、数据错误、编程错误、接口错误。
7.控制流程图及组成:
控制流程图是程序控制结构的图形表示,其基本元素是过程块、节点、判定,控制流程图与程序流程图之间的差异是在控制流程图中,不显示过程块的细节,而在程序流程图中,着重于过程属性的描述。
8.路径测试的基本策略:
路径测试技术的三种基本策略为,路径测试(PX),执行所有可能的穿过程序的控制流程路径,语句测试(P1),至少执行程序中所有语句一次,100%语句覆盖率(C1)的逻辑覆盖程序最弱,分支测试(P2),至少执行程序中每一分支一次(至少每个判定都获得一次“真”和“假”),100%分支覆盖率(C2)比100%语句覆盖在逻辑上要强,条件组合测试,在逻辑上比C1,C2更强。
9.路径选取的一般规则:
选取最简单的、具有一定功能含义的入口/出口路径,对已选的路径进行演化,选取无循环的路径、短路径、简单路径,选取没有明显功能含义的路径。