中国电建集团山东电力建设第一工程有限公司 山东 济南 250102
摘要:目前,我国的科技发展十分迅速,测试驱动开发是软件开发中一种新的开发模式,它的核心思想是通过不断的测试来驱动软件开发的进程,是极限编程中极具特色的开发方法,学习和应用测试驱动开发可以大幅度提高开发效率。
关键词:软件开发;软件测试;阶段应用
软件开发结合用户建设并开发部分软件或者软件系统,其中涉及了捕捉需求、分析、设计、实现以及测试等多方面的工作内容。为保证软件的整体使用效果,需要开展软件测试工作,其是逐渐提升软件正确性、安全性、完整性和使用质量的过程,用于预期输出和实际输出之间的差异比较。
1软件测试在软件开发过程中的价值与作用
具体实施软件测试工作过程中,主要是为实现避免开发风险,降低常见风险,并充分了解到软件的性能,这样将能充分观测到软件的应用效果。软件开发工作涉及复杂内容,开展全面测试工作,一是可以便于软件开发商明确软件的实际使用质量,并为工程师们提供准确有效的信息反馈,为全面评估软件系统操作的风险提供信息支持。二是为软件系统升级优化奠定基础,推进后续软件开发工作顺利开展,发挥其性能价值。三是适应软件工程开发项目的多项需求。充分发挥软件工程的整体应用作用,需要有软件测试实施全方位的辅助管理。
2软件测试的过程分析
2.1软件测试阶段
一般来讲,单元测试、集成测试、系统测试等是基于移动互联网软件测试的三个阶段,其中单元测试主要指的是将所测软件的每个基本组成部分设为一个单元,测试工作人员在进行测试的过程中,只需对此单元进行测试,倘若测试结果不符合《详细设计说明书》,企业的相关工作人员需尽早找到其中的差异点并及时进行订正,以期保证终端软件应用的各项性能最大程度地得到发挥。集成测试主要指的是在进行测试的过程中,相关工作人员按照设计要求,将所测软件的每个单元组合到一起形成一个集成体,而后测试人员只需对此集成体进行系统性的测试,倘若测试结果不符合《概要设计说明书的符合程度》,企业的相关工作人员需尽早找到其中的差异点并及时进行订正,以此为终端软件的正常使用奠定良好基础。
2.2软件测试的方法
(1)白盒测试
白盒测试是一种非常较为常见的测试方法,在很多的软件测试方法中最为典型,主要是一种按照程序内部的逻辑结构进行测试,或者是根据编码的结构设计测试数据进行测试,抑或者是根据测试用例的方式进行测试,都可以完成测试,因此经常将白盒测试称之为结构测试。白盒测试是一个应用代码的内部知识,这个内部知识具有一定的逻辑性,具备测试覆盖所有的语句和条件,可以利用它进行代码的查看,通过特定的实现方式得到确定的信息,并对其进行测试,根据其功能确定哪些信息需要被测试,哪些信息不需要被测试等。
(2)黑盒测试
黑盒测试就是将测试的对象比作看不见内部功能的黑盒子,不考虑黑盒的内部结构,也不对处理的结果进行关注,测试工作者只需要根据程序功能的需求规范确定测试用例,并对测试结果的正确性进行推测即可。软件工程师在使用黑盒测试的过程中,可以将执行程序中的所有功能导出,执行程序中的功能需求中有输入的条件集,有功能覆盖的作用。功能覆盖中最为常见的一种就是需求覆盖,通过测试用例的方式对每一个需求点进行测试,并且每一个需求点都能够被测试到位,根据软件产品的需求规格,使用计算机对其进行测试,以证明每一个实现的功能是否符合要求。
3软件测试在软件开发中的应用
3.1合理控制软件测试方法和步骤
充分归纳和综合各项软件测试的方法,可以发现其来源于测试种类的需求。(1)软件测试中,使用白盒和黑盒的测试程序,收集人工、技术双层数据,全面控制好软件数据编程、应用操作以及未来升级的发展需求,并实施全面监管工作。其中白盒可以和人工操作实现良好融合,科学整理各项数据,为实现数据外接奠定坚实基础。然后,发挥黑盒的运行操作性能,充分有效的检测和观察软件开发项目的内置程序、数据,这样将能够充分保证软件在实际应用中的功能性得到有效发挥。(2)数据的支持,是有效推进软件测试整体性布置良好实施的前提。实施软件测试工作的过程中,首先需要开展功能性检验,实施外因排除工作,进而执行内因运行工作;其次,需要针对一些可能导致软件开发程序出现问题的原因进行细致查找;最后,需要结合软件开发中的各项参数进行运算,加以总结,实现软件测试的目的。
3.2需求分析阶段
软件开发过程中良好使用软件测试手段,最大限度地发现软件开发程序中的不足,需要注重结合不同阶段予以实施,需求分析阶段是测试环节的重要内容。这一阶段开展软件测试工作,主要是针对客户需求进行记录,并提炼出各类核心信息,密切联系软件开发项目负责人,结合开发工作进度安排,制定科学测试计划。如某客户为实现改善室内清洁机器人性能要求软件开发公司设计智能软件,从用户的需求入手,可以得知软件开发项目的核心参数是机器人设备在感知障碍物、作用力、工作目标及其传感技术和集成技术。其中所需要的技术都是通用技术,只需要测试感知数据即可。由此可以结合软件开发的情况,拟定软件测试计划。
3.3设计阶段
软件开发工作进入设计阶段,测试工作包含了:(1)从实际开发工作进度及时调整好实现设定好的测试计划;(2)结合本二阶段设计结果,开展一些必要的分项目测试工作。一般情况下,在实施软件开发工作的过程中,会存在着较多未知变数,如某客户原定需求为软件识别4种语言,随着软件开发工作的深入实施,客户提高要求,需要软件至少识别6种语言,这就要求测试工作需要适当增加测试内容,从而更好的符合客户需求。分项目测试工作在一些大型的软件开发项目中较为常见,为了保证整个开发项目的运行效果,需要及时针对其中涉及的各个细节内容进行测试,确保其整体的使用效果。
3.4代码编写阶段
软件开发人员开发软件工程,需要注重结合需求编写相应的代码,积极实施软件设计和制作工作,其中需要进行单元测试、测试用例编写以及接收代码完成报告,编写测试用例则为关键性工作内容。实际开发软件过程中,设计人员可以自行担负起单元测试的职责,但是面对复杂多参数测试工作,则需要有测试用例和脚本作为支撑,由项目小组实施共同测试工作。
3.5运行维护阶段
软件开发工程投入到实际应用之后,还需要开展一定时间的测试工作,这是因为测试阶段并不能够全面暴露软件开发中的缺陷[4]。通过定期检测软件在实际运行中所表现出的各项参数,将能够及时发现其和既定参数中的差异,并加以细致分析和研究、解决,这样将能够更好提升软件开发的成效,提升客户的满意程度。如软件漏洞问题的存在,其在测试阶段多数呈现出了较为理想的状态,但是在具体应用中,将会受到系统兼容性以及木马病毒攻击的影响,出现运行状况不良的现象。运行维护阶段,测试人员需要和用户及时沟通,结合用户所反馈的各项情况,开展运维测试工作。
4结束语
软件测试工作,对于及时发现软件开发中存在着的不足具有积极效果,从而能够更好弥补软件开发的漏洞,切实提升其整体的应用效果,更好的满足用户的需求,服务于各项行业生产。软件开发过程中积极开展软件测试工作,需要注重合理控制软件测试方法和步骤,并结合具体开发环节明确测试重点。
参考文献
[1]董智勇.软件测试在Web开发中的应用[J].数字技术与应用,2017(2):207-207.
[2]李逆,吴艳阳.敏捷开发中的软件测试研究[J].软件导刊,2016,15(4):16-19.
[3]朱立国,陈根,章明希,等.CMC系统组态软件测试方法的研究与应用[J].中国仪器仪表,2016(1):00125-00126.