本章节主要讲解“软件的功能测试”的内容,功能测试(Functional Testing)是根据产品的需求规格说明书和测试需求列表,验证产品的功能实现是否符合产品的需求规格。它是系统测试过程中最基本的测试,不关注软件内部的实现逻辑。
功能测试的目的主要如下:
(1)是否有不正确或遗漏的功能。
(2)功能实现是否满足用户需求和系统设计的隐藏需求。
(3)能否正确地接受输入?能否正确地输出结果。
(4)验证业务流程是否正确、合理。
以上四个目的在测试过程中并不容易实现。
首先,第一个目的应该是相对比较容易实现的,测试工程师只需要按照需求规格说明书来验证即可。
接着,第二个目的是验证用户的需求是否被正确地实现,但用户的需求不只是那些显式的需求,还包括一些潜在的、隐藏的需求。
而测试的难点恰好就是这些隐藏的需求,解决客户隐藏需求最好的办法就是在创建需求规格说明书时,尽量将客户的隐藏需求挖掘出来,但现实中并不是所有的隐藏需求都能被挖掘出来,这时就要求软件测试工程师必须对业务很熟悉,否则在测试过程中就很难发现这些潜在的需求。
再次,第三个目的是验证系统处理输入、输出的正确性,需要注意的是这里所讲的正确的接受输入,不仅仅指有效数据,还包括无效数据的输入,即系统不仅仅要能处理有效数据输入的情况,还应该能处理无效数据输入的情况,这说明在进行测试用例设计时必须考虑这两个方面的数据输入,并且在测试过程中恰恰是输入无效数据容易引起问题。
最后,第四个目的是在测试过程中一个难点,因为这个业务流程在需求规格说明书中不会明确的定义,完全是凭测试工程师的行业经验进行测试,但是如果仅仅靠测试工程师凭行业经验进行测试的话,那么这很难保证产品的质量,所以针对于这个方面的测试更多的是通过Alpha测试或Beta测试来完成,Alpha测试与Beta测试的异同点见表11-1。
表11-1Alpha测试与Beta测试的异同点
通常一个好的功能必须包含以下几个子特性:
(1)适合性。适合性是指系统提供的功能是否好用、是否适合客户使用,适合性的优劣会影响到系统的易用性。
(2)准确性。准确性是指系统能够准确地响应客户的请求。
(3)互操作性。互操作性包括两个方面的内容:一是人机交互,即客户与系统之间的互操作性;二是被测试系统与其他的软件、系统之间的互操作性,也称为兼容性,兼容性的测试将在9.8节中详细介绍。
(4)安全性。安全性是指系统对信息、数据的保护能力,安全性测试将在11.10节中详细介绍。
本章节关于“软件的功能测试”的内容就学习到这里,大家觉得文章有用的话记得每天来这里和小编一起学习涨薪技能哦。