基于软件测试技术的功能测试方法和应用策略分析
2022-04-02崔华龙
崔华龙
关键词 软件测试 测试用例 黑盒测试 软件缺陷
1软件测试中功能测试的基本方法
不同类型的软件产品的测试重点不同,测试方法也不尽相同。对于同一类型的软件产品而言,不同的公司会开发不同的测试程序。尽管详细的测试步骤因软件而异,但基本的功能测试方法是相同的[1] 。
1.1分析测试对象需求
在制定测试计划之前,测试人员需要对测试对象进行详细分析,从而对测试软件产品有一个清晰、合理的认识,进而明确测试工作的主要任务、范围和重点。此外,在分析需求的过程中可以获得一些可靠的测试数据,既为测试方案提供基础依据,也为后续的回归测试奠定良好的基础。
测试需求分析还用于对软件需求进行测试,以发现软件需求中不合理之处。例如,是否涵盖客户提出的所有需求;措辞是否清晰,语义是否含糊;是否清楚地描述了软件需要做什么,不需要做什么;是否描述了软件的测试环境,包括软件和硬件环境;编号是否合理;要求是否一致,不冲突;是否对软件系统的性能需求进行了清晰地描述;是否对需求进行了合理排序;是否对各种约束条件进行了描述等。此外,我们还需制作分析测试需求表,对每个描述项和对应的检查结果进行编号,使分析测试表一目了然。
我们应该注意到被识别的测试需求必须是可验证的,并且测试需求必须具有可观察和可测量的结果。不能验证的需求不是测试需求。测试需求分析还应与客户进行沟通,以澄清任何混淆,并确保测试人员和客户尽早在项目的同一页上。
1.2制定测试计划
测试计划一般包括以下工作安排。
(1)定义测试的范围:确定哪些对象需要测试,哪些对象不需要测试。
(2)制定测试策略:测试策略是测试计划中最重要的部分。它优先考虑要测试的内容,并关注测试。根据测试模块的特点和测试类型(如性能测试、功能测试)选择测试环境和测试方法(如自动化测试、手动测试)。
(3)安排测试资源:根据测试难度、时间、工作量等因素合理安排测试资源,包括人员配置、工具配置等。
( 4)计划测试:根据软件开发计划和产品的总体计划,考虑工作各部分的变化,并计划测试工作。在安排工作时,在测试之间留出缓冲时间以响应安排的变化是一个好主意。
1.3设计测试用例
测试用例是指测试团队设计的一组详细的测试场景,包括测试环境描述、測试数据统计、计划测试过程以及收集预期结果。不同的公司拥有不同的测试用例模板,尽管它们在风格和样式上不同,但测试法则本质上是相同的,即涵盖测试用例的所有元素。结合实践,编写最终测试用例的原则是用尽可能少的测试用例实现软件应用程序的最大测试覆盖率。
1.4测试执行
测试执行是指根据测试用例的规范执行测试的过程,这是测试人员在相关活动中最重要的测试阶段。同时,根据测试用例优先级执行测试。
在测试的执行过程中,测试人员应密切跟踪测试过程,记录“缺陷”,制作表单报告等,这是测试人员将来进行总结的最重要的阶段。
1.5编写测试报告
一份完整的测试报告必须包括以下几点:(1)导言,即撰写测试报告的目的以及对专业术语进行解释,并附带参考资料;(2)测试摘要,即描述项目背景、测试时间、测试地点和测试人员;(3)测试内容及实现,即描述模块的测试版本、测试类型,利用覆盖方法设计测试用例。根据测试用例的测试结果进行评估,并提出建议,以提高测试执行效率,为后续测试执行活动提供参考;(4)统计与分析“缺陷”,即统计本次测试中发现的“缺陷”数量和类型,分析“缺陷”产生的原因并提出避免“缺陷”的建议,记录剩余“缺陷”和未解决的问题;(5)测试结论及建议,即从需求合规性、功能正确性、性能指标等维度对版本质量进行全面评估,并给出具体结论。
需注意的是,检测报告中的数据是真实的,每一个结论都应该基于评估而得出,而不是主观的。
2软件测试功能之测试应用实战
2.1分析测试需求
如图1 所示,本文以“滴滴青桔”APP 的开锁用车业务流程为例,对软件测试需求进行分析。
针对“滴滴青桔”APP 的用车功能,我们需要测试三个内容:(1)扫描二维码开锁;(2)输入车辆编号开锁;(3)调取手机手电筒。
2.2制定测试计划
“滴滴青桔”APP 的功能测试计划如表1 所示。
2.3设计测试用例
我们利用黑盒测试技术中的等价划分法,设计了“分析+设计”的测试用例表(表2)。具体为:白天需扫描二维码解锁、手动输入车号解锁;夜晚需扫描二维码及打开手电筒解锁、手动输入车号解锁。其中,需要注意“滴滴青桔”APP 开锁模块与其他模块的关联。开锁时,如果有正在运行的订单或未支付的订单,则无法开锁。
2.4测试执行
测试人员执行测试用例并记录和跟踪测试过程。在测试中,若发现“缺陷”需将其分类至“缺陷报告”,如表3 所示。
2.5测试结果
“滴滴青桔”APP 功能测试的结果是:在夜晚扫码开锁时,该版本无法启动手电筒功能,导致扫码不成功而无法完成开锁。其属于功能类型“缺陷”,测试用例发现APP 中的错误是执行程序的过程。我们选择了软件测试中黑盒测试技术的等效分类方法来设计测试用例,并将测试时间分为两类,即白天测试和夜晚测试。参考资料为《软件测试技术基础课程》(“十三五”职业教育国家规划教材)。
3软件测试之功能测试应用策略分析
根据测试的通过条件,本项目全面覆盖了测试用例执行过程。由于本次测试活动是在冬季进行的,可能并不完全具备代表性,所以建议下次测试活动在春节或夏季进行。此测试将作为后续测试活动的参考。在该测试中,我们仅发现一个“缺陷”。该“缺陷”属于功能性“缺陷”,即“缺陷”源于“滴滴青桔”APP 的解锁功能与手电筒功能不兼容,建议更换其他型号的手机进行测试。
4结语
测试报告中的数据真实有效,每一个结论都有依据;本项目可以满足客户和市场的需求;所有的测试用例都已经被评审并成功执行;测试覆盖率达到要求;所有“缺陷”都记录在“缺陷管理”系统中。