南京安硕信息技术服务有限公司 江苏南京210000
摘要:随着中国IT行业的发展和软件市场的成熟,软件行业发展越来越好,规模也越来越大,人们对各种软件也非常期待,在软件高速发展的时期,软件的功能、性能、兼容等方面也成为人们关注的点。软件测试是为了保证软件质量的重要手段,在整个软件工程中的周期也较长,工作量将近占一半,每个软件的产生都需要经过软件测试,提高软件质量。
关键词:软件测试;测试工具;测试流程
引言:在信息化时代下,软件的复杂度在不断的升高,对于不同行业的软件要求也在不断地提高,而软件运行中出现bug是很常见的,因此软件测试在这个行业中尤为重要。
第一章软件测试参数
1.1产品说明要求
根据提交给测试人员相关的系统需求规格说明书、系统功能点等相关参考文档,来验证产品实际实现的功能是否与以上所述相关文档相符合,是否为可测试的功能点;且校验开发逻辑及标准是否符合产品所要求的规范。
1.2用户文档集要求
检验用户文档(用户手册、在线帮助、安装手册等)的完备性、一致性、正确性、易理解性。
1.3功能性测试
对产品的各个功能进行验证,根据编写的测试用例,逐项测试,检查产品是否达到用户预期要求的功能。
1.4性能效率测试
性能测试是使用各种性能测试工具来进行测试,来达到产品性能,性能测试工具一般包含:LoadRunner、Jmeter等。
1.5信息安全测试
安全性测试主要是对产品权限进行管控,在代码层实现,又或者在面临攻击时做的处理,是否保证数据的安全。测试人员通过各种测试方法,发现安全性问题,一般会包括一些信息泄露、信息完整性、非法授权等方面。
1.6易用性测试
易用性测试是指用户使用软件时是否感觉方便,比如是否最多点击鼠标两次就可以达到用户的目的,安装是否容易,界面设计是不是符合大众的习惯,能直观的展示业主想要的内容。
1.7可移植性测试
测试系统对不同操作系统、浏览器、分辨率、数据库等的适应能力。
1.8兼容性测试
测试产品、系统或组建与其他产品、系统或组建交换信息、执行所需功能的适应能力、获取信息的程度。
1.9维护性测试
测试产品或系统在原有模块的基础上扩展、删减能力,测试系统参数可维护性;软件产品的多运行环境测试。
1.10可靠性测试
在指定条件下使用时,测试软件产品维持规定的性能级别的能力。验证软件产品在预期的使用、运输或储存等所有环境下,保持功能可靠性而进行的活动。
第二章软件测试流程
2.1软件测试流程
一、需求分析阶段:测试计划审核成功之后,测试人员便介入需求分析,需求分析需要对照需求规格说明书,分析测试需求,确定测试策略,每个测试阶段需要用到的测试方法和测试工具。通过具体需求可梳理出一些测试功能,不清楚的地方与产品经理或项目经理进行探讨,将测试功能更具体化,记录测试难点,在测试过程中注意这些难点。
二、测试方案制定阶段:为了更好的完成项目的测试工作,确保系统质量、降低测试过程中出现的风险,需制定测试方案。该方案中包含测试范围、测试资源、测试流程和测试风险分析等。
三、用例编写阶段:
测试人员编写测试用例的原则如下:
(1)依据需求规格说明书对所提测的系统进行需求分析,将所涉及的业务关联,业务逻辑理顺,含前后端及移动端交互的逻辑等。
(2)单条测试用例包含用例编号、用例描述、用例预置条件、用例实际操作步骤、预期结果五个栏位。
(3)根据每个模块的重点,细化测试步骤和测试重点。
(4)测试用例的设计不能仅仅设计正确场景的用例描述,也要包含一些错误场景的用例,引用错误推测法、等价类、边界值等方法。
(5)对业务逻辑较复杂的功能点,需考虑编制与测试用例配套的测试样例数据,以完整核实逻辑处理的完整性和数据的准确性。
四、测试实施阶段:
(1)测试人员根据测试计划和测试用例开展测试工作。
(2)针对测试过程中存在的问题,在禅道(缺陷管控软件)上记录缺陷情况,缺陷记录包含缺陷所属产品、所属模块、严重程度、优先级、缺陷类型(需求问题、设计问题、开发问题等)、缺陷标题、测试步骤、相关测试截图等反馈给对应开发人员。
(3)在测试完成后需进行交叉测试工作,提升测试质量。在交叉测试过程中发现的问题,测试人员也需要对缺陷情况进行记录,并做交叉测试记录。
(4)待开发修改问题后,测试人员进行回归测试,并更新测试过程记录。
五、测试完成阶段:测试完成后,由项目负责人汇总测试结果并进行测试报告的撰写,在报告中体现测试是否通过的结论。
第三章软件测试工具
3.1性能测试工具(LR)
LR可以进行脚本的录制,将需要进行性能测试的步骤录制下来,自动生成脚本,或者测试人员自行编写脚本,在使用LR的时候首先要确定协议,选择正确的协议,否则无法正常使用。脚本录制成功或者编写成功,可进行步骤运行一次。脚本录制完成之后,测试人员需要创建测试场景达到测试目的,例如需要对服务器进行监控设置、对某个功能进行并发操作、添加主机等操作。性能测试执行的过程中,监控服务器各项性能,例如CPU、内存等。运行之后自动产生测试报告,有经验的性能测试人员还能定位出产品性能,帮助开发发现问题。
3.2压力测试工具(JMeter)
Jmeter一般应用于web系统比较广,对web系统进行并发压力测试,后来也使用于其他领域。用于性能并发测试。
3.3抓包工具(fiddler)
Fiddler工具主要是一款http协议工具,对比其他抓包工具,该工具操作简单,上手容易,使用率比较高。Fiddler也可以添加插件,扩展功能,使软件适应度更高,可满足大部分用户需求。
3.4网络安全渗透工具(Burp Suite)
Burp Suite通过拦截HTTP/HTTPS的web数据包,充当浏览器和相关应用程序的中间人,进行拦截、修改、重放数据包进行测试。
第四章软件测试未来发展趋势
当前信息化技术在不断的发展,软件测试领域也在不断创新中,无论是selenium测试自动化、浏览器兼容性测试,还是任何其他形式的测试方法,每一种测试方法都在不断地更新,以交付更好的产品。目前来看软件测试的未来发展趋势:
一、测试自动化
测试自动化是这些过程中不可或缺的一部分,因为它减少了对手动测试的依赖,特别是对于重复性的任务或不需要任何人工干预的任务。
二、人工智能和机器学习
人工智能(AI)将无处不在地出现在所有的技术部门。人工智能和机器学习(ML)的致命结合将被更广泛地用于更好地进行自动化测试。它将加速测试自动化的过程,包括跨浏览器测试。这不仅需要思维方式的转变,还需要技能的转变,这将是自动化测试的关键。
三、手机自动化测试
移动应用程序自动化测试的趋势正在上升,这主要是由上市时间缩短和对移动测试自动化的高级方法的需求推动的。尽管在DevOps过程中使用了Appium等流行的移动应用程序自动化测试工具,但是目前对测试自动化工具的使用情况并不令人鼓舞。
结束语
软件测试在整个软件行业是很重要的存在,是质量保证依据。整个软件测试过程:认真编写测试方案制定计划-编写测试用例覆盖全面业务需求-严格执行用例进行功能点及其他参数测试-跟踪缺陷处理进度-出具测试报告进行质量保证,并采用性能、安全相关工具等进行质量控制。实现这些步骤,软件质量会有大幅度的提高。
当然局限于这些手段是不够的,时代在进步,我们的测试技术也要跟着进步,未来的发展趋势是偏向测试自动化的,我们要不断提升技术,跟上时代的发展,完善技术,更加的贴近满足用户的需求。
参考文献
[1]刘德寅,薛小东,张舒白。计算机软件测试技术与开发应用研究[J].电子质量,2018(07):5-6+31.
[2]杜娟,骆庆,张泉。计算机软件测试技术与深度开发应用探讨[J].电子测试,2017(19):127+126.
[3]杨梵.软件测试技术的关键能力培养探讨[J].福建电脑,2022,38(09):71-74.
[4]王晓.软件测试过程质量控制管理研究[J].软件,2022,43(01):115-117.