今天是个开心的日子,具体为啥开心我知道你懂得。继续我的龟速学习小笔记。
它来了它来了,你说它很简单,当我看到此章的一部分内容后发现了原来学霸和学渣差别就是如此大(捂脸),今天由于时间关系,只能先写一部分简单的。
软件测试是保证软件质量的关键,它是对需求分析、设计和编码的最终复审。
7.1软件测试的目标或定义
(1)软件测试是为了发现错误而执行程序的过程。
(2)一个好的测试用例能够发现至今尚未发现的错误。
(3)一个成功的测试是发现了至今尚未发现的错误的测试。
测试阶段的基本任务:根据软件开发各阶段的文档资料和程序内部结构,精心设计一组高产的测试用例,利用这些用例执行程序,找出软件中潜在的各种错误缺陷,一般不可能发现程序中的所有错误。
7.2软件测试的原则
(1)用例要有输入数据,又要有对应的输出结果,要做到“有的放矢”
(2)用例要选用合理的输入数据,还应该选不合理的输入数据,这样能更多的发现错误,提高程序的可能性,还可以测出程序的排错能力。
(3)检查程序是否做了它应该做的和不应该做的
(4)提前指定测试计划
(5)测试计划,测试用例、测试报告必须作为文档长期保存。
(6)pare to原理说明测试发现的错误中80%很有可能是由程序中20%的模块造成的,即错误出现的“群集性”现象,可以把pare to原理应用到软件测试中,但关键问题时如何找到这些可疑的有错模块并进行彻底测试。
(7)应该避免测试自己的程序,对需求规格说明的理解而引入的错误则更不容易发现,因此应该由独立的第三方从事测试工作,会更客观、更有效。
7.3软件测试方法及分类
一般把被测程序在机器上运行称为“动态测试”,不在机器上运行的被测程序称为“静态分析”两种的属于软件测试,动态测试的方法中又根据测试用例的设计方法不同,分为黑盒测试和白盒测试法两类。
7.3.1静态测试与动态测试
1、静态测试:就是静态分析,被测程序不在机器上运行,对模块的源代码进行研读、查找错误或收集一些度量数据,采用人工检测和计算机辅助静态分析手段对程序进行检测,只进行特性分析
(1)人工测试:人工审查程序或评审软件还要对各阶段的软件产品进行检验,人工测试可以有效地发现软件的逻辑设计和编码错误,发现计算机不容易发现的错误。
(2)计算机辅助静态分析:指利用静态分析工具对被测程序进行特性分析,从程序中提取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造,静态分析中还可以用符号代替数值求得程序结果,以便对程序进行运算规律检验。
2、动态测试
是指通过运行程序发现错误,有两种测试方法:如果已知产品应该具有的功能,可以通过测试来检验每个功能是否都能正常使用,如果知道产品的内部工作过程,可以通过测试来检验产品内部结构及处理过程是否按照规格说明书的规定正常进行。前一种方法为黑盒测试法,后一种方法称为白盒测试法,对软件产品进行动态测试时,也用这两种方法。
7.3.2黑盒测试与白盒测试
1、黑盒测试法
也称功能测试或数据驱动测试,把被测程序看成一个黑盒子,只在软件接口处进行测试,依据需求规格说明书检查程序是否满足功能要求,每个功能是否能正常使用,是否满足用户的要求,程序是否适当地接收输入数据和产生正确的输出信息,并且保持外部信息的完整性。
通过黑盒测试主要发现以下错误
(1)是否有不正确或遗漏的功能
(2)在接口上能否正确地接受输入数据,能否产生正确的输出信息。
(3)访问外部信息是否有错
(4)性能上是否满足要求
(5)界面是否有错,是否美观、友好
用黑盒测试法进行测试时,必须在所有可能的输入条件和输出条件中确定测试数据,要企图遍历所有的输入数据往往是不可能做到的。
2、白盒测试法
也称为结构测试或逻辑驱动测试,白盒测试与黑盒测试法不同,测试人员将程序视为一个透明的白盒子,需要了解程序的内部结构和处理过程,检查处理过程的细节为基础,对程序结构特性做到一定程度的覆盖,对程序中的所有逻辑路径进行测试,并检验内部控制结构是否有错,确定实行的运行状态与预期的状态是否一致,也是不可能进行完全的测试。
无论使用那一种测试方法,对于一个大的软件系统完全彻底测试在实际中都不能的,为了用有限的测试发现尽可能多的错误,必须精心审计测试用例。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)