一.基础知识
1. 概念
软件测试是对软件计划、软件设计、软件编码进行查错的活动(包括代码执行活动与人工活动)。
2.目标
(1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
(3)成功的测试是发现了至今为止尚未发现的错误的测试。
软件测试的目标一句话简言之就是:发现新的错误,以保证软件正常运行的可靠性。
3.原则
测试过程中,需要按照以下原则进行软件的测试活动:
(1)测试前要认定被测试软件有错,不要认为软件没有错;
(2)要预先确定被测试软件的测试结果;
(3)要尽量避免测试自己编写的程序;
(4)测试要兼顾合理输入与不合理输入数据;
(5)测试要以软件需求规格说明书为标准;
(6)要明确找到的新错与已找到的旧错成正比;
(7)测试是相对的,不能穷尽所有的测试,要据人力物力安排测试,并选择好测试用例与测试方法;
(8)测试用留作测试报告与以后的反复测试用,重新验证纠错的程序是否有错。
4.方法
按照测试过程是否在实际应用环境中来分,有静态分析与动态测试。
测试方法有分析方法(包括静态分析法与白盒法)与非分析方法(称黑盒法)。白盒法是通过分析程序内部的逻辑与执行路线来设计测试用例,进行测试的方法,白盒法也称逻辑驱动方法。黑盒法是功能驱动方法,仅根据I/O数据条件来设计测试用例,而不管程序的内部结构与路径如何。
(1)静态分析技术
不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找出软件错误。
(2)动态测试技术
把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则,描述了输入的定义域和与输出值域的关系。
二.知识汇接
在近段学习过程中,总结一下关于软件测试的相关知识,下面这幅图就是自己在总结过程中画出的,在绘制过程中,未尽详尽所述,捡重点的相关知识做以联系:
三.小结述心
对于这一阶段的学习,感觉软件工程的知识整体性非常好。一个工程的学习,就是整个软件的设计过程,在此过程中个中细节关联性也是十分的紧密。
今后不管是考试,还是工作过程中,这方面的知识都是十分重要的,利用其它时间或者今后的备考期间,再做以更加完善地学习。