什么是功能测试
Functional testing(功能测试),也称为 behavioral testing(行为测试),根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试,通过对一个系统的所有的特性和功能都进行测试确保符合需求和规范。
功能测试也叫黑盒测试或数据驱动测试,只需考虑需要测试的各个功能,不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。
为什么需要功能测试
1. 站在用户的角度上, 确保系统的实现与需求一致
2. 由于是黑盒测试, 测试人员完全不知道应用的内部实现, 可以发现开发人员没有发现的问题, 找出有遗漏的地方
3. 可以测试一些例外的问题, 比如乱操作, 不按既定的流程进行操作, 检查出应用的漏洞所在
从以上几点我们可以得出: 功能测试=检查需求的实现+查找出功能实现的遗漏+检查应用是否有漏洞存在
如何进行功能测试
功能测试的六个步骤
1. 需求分析师根据需求编写功能的执行预期
2. 测试工程师根据需求分析师给出的执行预期, 编写测试用例
3. 测试工程师根据需求分析师给出的执行预期, 准备所需要的数据, 包括测试所需的数据, 与预期结果的数据
4. 测试工程师根据自己的测试用例执行测试用例操作
5. 测试工程师比较实际结果与预期结果是否相同, 并给出报告报表
6. 需求分析师根据测试工程师给出的报告判断应用是否符合用户的需求
功能测试的两个方法
1. 手动测试: 测试工程师根据测试用例, 进行手动形式的操作, 灵活, 花费时间少, 但是如果需要多次测试同一个功能时就会导致所消耗的时间增多, 并且准确性差, 有可能多次测试的结果一致性低; 适合一些只需测试一次或两次的功能, 或一些小功能, 或简单的操作的测试用例
2. 自动化测试: 由测试工程师编写自动化测试用例, 由计算机代替手动测试, 灵活性会有所降低, 但是针对需要多次测试的功能时, 能大大提升测试的效率, 并减少重复的操作, 并能保证多次测试的一致性; 适合一些需要重复测试多次的, 测试用例复杂的, 操作繁琐的测试用例