软件测试是指以手工或自动方式,对软件是否满足特定的需求进行验证或者识别软件的实际运行结果与期望值之间的不同,从而对系统或系统部件进行评价。软件测试是发现软件缺陷、保证软件质量的主要手段。
软件测试的目标体现在以下三个层面:
(1)测试是一个程序的执行过程,其目标是发现错误;
(2)一个好的测试用例能够发现至今尚未察觉的错误;
(3)一个成功的测试则是发现至今尚未察觉的错误的测试。
软件测试的原则包括:
(1)程序员或程序设计机构不应测试由其自己设计的程序;
(2)测试用例设计中,不仅要有确定的输入数据,而且要有确定预期输出的详尽数据;
(3)测试用例的设计不仅要有合理的输入数据,还要有不合理的输入数据;
(4)除了检查程序是否做完了它应做的事之外,还要检查它是否做了不应做的事;
(5)保留全部测试用例,并作为软件的组成部分之一;(6)程序中存在错误的概率与在该段程序中已发现的错误数成比例。