什么是软件测试?软件测试有哪些特点?
我们可以通过了解软件测试的定义来知道答案。
IEEE对软件测试的定义如下:
所谓的软件测试,就是从通常无限大的执行域中恰当地选取一组有限的测试用例,对照已经定义的程序的预期行为,动态地检验程序的行为与预期行为是否一致。
我们从IEEE的这个定义可以看出软件测试具有如下的4个特点:
-
动态性
软件测试需要对程序进行动态地检验。所谓“动态”,是指软件测试过程总要通过给程序提供一组输入以执行程序或让程序运行,借以观察程序的行为或输出的结果与预期的是否一致。
这里的输入需要使用等价分类或者边界值分析的方法进行设计。而且,对于一些复杂的软件系统,由于系统会处于不同的状态,即使相同的输入也不一定会有相同的输出结果。
-
有限性
由于输入的范围近乎无限大,所以软件测试原则上可以无限地进行下去。但是,在测试资源和交付进度的限制下,我们能够执行的测试只能是有限的。这就是等价分类法、边界值分析法等方法的意义所在。
-
选择性
由于测试的有限性,决定了我们必须恰当地选择有限的测试用例集,才可能满足测试的充分性和有效性。比较有效的选择方法是基于风险分析的结果来选择测试用例集。
-
预期性
软件测试执行之前,我们就应该能够根据需求规格确定软件接受输入后的预期行为,软件测试执行后的测试结果必须能够与这个预期行为进行比较,能够确定所观察到的程序执行输出是不是可接受的,否则测试工作就是无用的。
以上就是软件测试的4个特点。
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。