软件测试技术与测试管理

2018-03-23 11:59崔哲
电子技术与软件工程 2018年4期
关键词:技术软件测试

崔哲

摘 要随着大型软件工程项目的出现,系统的功能性、复杂度较之传统的软件项目而言都是不可同日语的,为了保障软件设计的正确性、提升软件编制的可靠性,软件测试技术应用而生,软件测试现已成为各个项目开发的必要过程。本文从软件测试技术和测试管理两个方面进行了相关内容的论述,简要的介绍了软件测试的概念、必要性以及提升测试管理的思路,希望通过本文对了解软件测试技术和提升测试管理水平提供参考。

【关键词】软件 测试 管理 技术

1 软件测试技术简介

1.1 何为软件测试技术

软件测试(Software Testing),是在一定条件下对程序代码运行实际结果与预计目标进行比对的编程技术,是软件开发过程的重要环节。软件测试通常从三个角度,即程序的正确性(correctness) 、完整性(completeness)以及质量性(quality)来对软件进行测试。软件测试可分为单元测试、集成测试、系统测试等类型,单元测试(unit testing)主要是指对软件最小可测单元(如一个函数、方法等)进行测试的一种技术手段;集成测试则是将测试单元进行组合来对代码功能测试的一种技术手段;而系统测试(system testing)将确定的系统运行硬件、软件、网络等各类环境进行组合完成接近代码交付前的测试。除此之外,按照程序代码的可见性又分为白盒测试和黑盒测试,其中白盒测试对于测试人员代码是可见的,通过运行测试代码进行程序结构性测试,而黑盒测试不关注代码内容,仅仅通过输入输出结果比较来分析代码的可用性、质量性。总之,软件测试作为程序开发的重要阶段,是以一定规范性和理论性技术保障为支撑的开发过程,对于验证程序代码功能、质量以及完整性具有十分重要的意義。

1.2 软件测试的必要性分析

从软件测试的功能角度而言,其具有三个方面的作用,其中正确性是最为基本的测试保障,脱离了软件的正确性保障任何测试都是无意义的;而完整性则从代码覆盖率、功能实现的完整性等角度予以探讨的;质量性则是通过分析、测试软件性能,获得软件运行的可靠性保障。通过对编制的软件进行测试可发现软件运行错误,实现有效程序代码高覆盖率,对软件性能获得初步的了解,是交付给用户最终程序的质量保障。甚至在一些开发领域,“测试先行”的做法也大量存在,根据程序文档编制好测试用例,以测代写的程序编制过程规范了程序开发过程,避免无效代码的出现。总之,软件测试是十分关键和必要的,应重视软件测试对于程序开发质量保障。

2 提升软件测试管理的思路探析

2.1 提升软件测试认识度

软件测试认识度作为意识层面的管理需求是十分必要的,在实际的开发测试过程中往往有部分程序开发人员往往过分注重代码的开发过程,而忽视测试保障,软件测试的积极主动性不高,究其原因无非是不了解、不重视软件测试的必要性,体会不到软件测试手段对于提升软件质量的意义。因此,要加强软件测试管理首先应促进软件测试认识度的提升,从思想上重视软件测试过程,深刻体会软件测试的重要性,进而熟练掌握软件测试的方法、步骤、内容以及实施过程,能够有效的运用各种测试手段为编写高质量代码、提升系统运行性能给出测试参考。总之,能否实现深入的测试认识决定了测试管理是否有效。

2.2 规范软件测试技术标准

软件测试技术标准应根据不同的项目代码进行差异化的制定,在同一个项目开发测试过程中,应严格按照规定的测试标准予以实施。按照一般的测试规范,应从以下几个方面进行实施,首先是测试工具的统一性,不同的开发语言所提供的测试工具往往不同,以Javaweb开发为例,常见的测试工具有TestNG、Apache JMeter、Selenium 等,不同的测试工具应用场合以及性能都不尽相同,因此在进行同一项目的开发测试的时候应规范测试工具,保障测试的同一性;其次则是测试内容的标准化,按照一般的软件测试需求,应从代码的覆盖率、功能的完整性、编程的正确性以及系统运行的抗压性等角度予以规范,规范测试文档,任何功能模块的测试都应从这几个方面入手,当然按照系统的特殊性还应对系统的“特色内容”进行测试;最后则是测试报告的规范性,不同的测试步骤都应生成一定的测试报告,测试报告是各个测试过程的结论性依据,规范了测试报告对于统一测试数据展现是十分必要的。

2.3 落实各类软件测试资料的生成与保存

要进行软件测试,需要根据测试内容提供测试用例(各种测试case),测试工具根据测试用例对代码进行测试,并生成各种测试文档以供参考。改修项目实施之前,应进行系统代码的回归性测试,验证之前项目的正确性;在完成了代码编制后应进行系统的覆盖性测试和功能性测试,根据测试文档对于不可达的代码部分应进行修改,对于逻辑结构的测试错误予以改正,以实现高质量代码的编制,并对修改好的代码进行再一次的测试,通过测试文档确认修改完成,对于开发单位而言,可以通过测试报告得出开发人员开发效率,以此进行差异化的人员管理。从上述描述可以看出,软件测试各阶段所需要和具备的测试资料和文档是十分重要的,因此在各个测试环节应注重测试资料的生成和保存,存留软件测试的管理依据。

2.4 以软件测试手段提升软件编制质量

软件测试的最终目的旨在提高软件的编制质量以及系统运行效率,不能因为测试而进行测试,应始终围绕服务代码生成的这一中心任务实施软件测试工作,作为测试管理同样应重视软件测试目标性管理。通过软件测试发现程序代码编制过程中存在的各种问题,保障代码的可达性、确保代码逻辑正确性,并根据运行效率队代码逻辑结构进行优化设计,最终提升软件的功能性需求、完整性需求以及可靠性需求。

3 小结

综上所述,软件测试技术作为软件开发的重要环节,通过对比测试结果以及预期结果对发现软件编制错误,优化软件结构设计,提升软件可用性具有十分重要的意义。本文从软件测试技术和测试管理两个方面对软件测试工作进行简要的论述和探讨,对于促进软件软件测试内容了解,提升测试管理工作给出相应的参考意见。

参考文献

[1]张蕾.软件安全测试技术和工具的研究[J].中国新技术新产品,2017(17):21-22.

[2]赵丽辉.面向对象软件测试技术及应用实践[J/OL].电子技术与软件工程,2017(14):45.

[3]陈雯雯. 基于云存储的软件测试管理系统的研究[D].吉林建筑大学,2017.

[4]苏丽芳.软件测试自动化技术的应用分析[J/OL].中国高新技术企业,2017(09):48-49.

[5]严羽楠,邹然.测试过程可视化——谈程序覆盖率监控技术[J].中国金融电脑,2017(06):81-84.

[6]任力子,王婉人,高优.探讨计算机软件测试的相关技术应用[J].信息系统工程,2017(05):135.

作者单位

中国电子科技集团公司第五十四研究所 河北省石家庄市 050000

猜你喜欢
技术软件测试
禅宗软件
幽默大测试
“摄问”测试
软件对对碰
“摄问”测试
“摄问”测试
谈软件的破解与保护