软件自动化测试从入门到精通 二 :测试方案设计示例

软件自动化测试从入门到精通

第二章 测试案例编写示例



一、 案例编写原则

软件只是我们使用的工具,他要满足特定的使用场景,达到我们想要的智能化、便捷化的效果。
所以我们实际的测试以业务场景测试为基准,兼顾数据测试和安全测试。

二、某OA系统的测试流程

基于软件自动化测试技术框架,对Java11的oa打卡、绩效考评、薪资统计系统进行测试,我们可以采用以下步骤和策略:

1、测试准备
确定测试范围:明确测试将覆盖的oa系统的功能模块,包括打卡、绩效考评、薪资统计等。
制定测试计划:明确测试开始和结束日期,制定测试阶段和里程碑,确保测试工作按计划进行。
分配测试资源:确定测试团队的成员和角色,包括测试经理、测试工程师、领域专家等,并分配测试任务和责任。

2、选择适合的测试框架
根据系统的特性和测试需求,选择适合的自动化测试框架。对于Java11的oa系统,可以考虑使用模块化测试框架(TEST MODularity FRAMEWORK)或测试库框架(Test Library Architecture),这些框架能够很好地支持Java应用程序的测试。

3、设计测试用例
根据测试目标和需求,编写详细的测试用例,涵盖各种功能和场景。确保测试用例全面覆盖打卡、绩效考评、薪资统计等模块,包括正常流程、异常流程以及边界条件等。

4、执行测试
按照测试计划和测试用例,执行测试任务。记录测试过程中的关键信息,如错误报告、测试数据和环境配置等。确保遵循测试最佳实践,提高测试的有效性和可靠性。

5、测试结果分析
对测试结果进行总结和分析,评估系统的质量和稳定性。根据测试结果,识别潜在的问题和缺陷,并给出相应的改进建议。

6、编写测试报告
编写详细的测试报告,记录测试过程、测试结果和改进建议。测试报告应准确、完整地反映测试工作的实际情况,为后续改进和优化提供依据。

7、提交测试结果
按时提交测试结果,确保报告的准确性和完整性。与项目团队和相关利益方进行沟通,分享测试成果和改进建议,共同推动系统的优化和升级。

通过以上步骤和策略,我们可以对Java11类型的oa打卡、绩效考评、薪资统计系统进行全面、有效的自动化测试,确保系统的质量和稳定性满足用户需求。

二、测试策略

一、测试策略概述
测试策略是测试活动的基础和指导原则,它定义了我们如何进行测试,包括测试的范围、方法、工具、资源分配以及测试执行的顺序等。
测试策略:
模块化测试策略:根据系统的功能模块(如打卡、绩效考评、薪资统计等)进行划分,每个模块单独进行测试,确保模块的独立性和完整性。我们采用Jenkins自动平台每个模块都会自动检测。
场景化测试策略:根据用户的使用场景和业务流程,设计测试用例,模拟用户在实际操作中的行为,验证系统的功能是否符合预期。设计进行整个流程的冒烟测试。
自动化测试策略:利用自动化测试工具,编写自动化测试用例,实现测试脚本的重复执行,提高测试效率。对多用户多线程采用jmeter 高并发请求测试,用postman来对接口进行数据测试。

二、详细测试方案
功能性测试(1~3)
验证系统的各项功能是否按照设计文档和需求规格说明书的要求正确实现。
对每个功能模块进行详细的测试用例设计,包括正常流程、异常流程以及边界条件等。
使用等价类划分、边界值分析、因果图等方法,确保测试用例的全面性和有效性。
1、UI 界面测试
对整个界面UI组件测试有无设置、颜色、权限等漏铜
2、流程冒烟测试
将整个软件功能流程走完,对各个功能进行流程测试。
3、数据准确性测试
采用分析方法,确认流程数据的正确性,异常流程的管控,对各个功能模块覆盖式测试。
4、性能测试
评估系统在高并发、大数据量等情况下的性能指标,如响应时间、吞吐量等。
使用负载测试和压力测试工具,模拟多用户同时访问系统的情况,测试系统的负载能力和稳定性。

5、安全性测试
检查系统是否存在安全漏洞,如SQL注入、跨站脚本攻击(XSS)、访问劫持等。
使用安全测试工具进行漏洞扫描和渗透测试,评估系统的安全性;采用自动化测试工具进行代码自动扫描;采用破坏性测试方案来查找漏洞。

6、兼容性测试
验证系统在不同的操作系统、浏览器和硬件设备上是否能够正常运行。如谷歌、微软浏览器兼容测试;平板、win、Android、iOS操作系统兼容测试。
准备不同版本的浏览器和操作系统环境,进行系统的安装和运行测试。

7、人机交互、用户体验测试
检查系统的界面设计是否合理,操作流程是否简单明了。
邀请用户进行体验测试,收集用户反馈,对系统进行优化和改进。进行用户体验性评分,对人机交互的舒适性进行评分。

8、回归测试
在系统修复缺陷或进行功能迭代后,重新执行之前的测试用例,确保问题得到解决且没有引入新的问题。可以采用禅道来管理一个项目的测试计划。
使用自动化测试工具进行回归测试,提高测试效率。

三、测试策略实施
1、制定详细的测试计划,明确测试目标、范围、方法和时间表。
2、组建专业的测试团队,分配测试任务和责任,确保测试工作顺利进行。
3、准备测试环境和测试数据,确保测试条件的一致性和可重复性。
4、编写详细的测试用例,确保测试用例的准确性和完整性。
5、执行测试并记录测试结果,及时报告问题和缺陷。
6、分析测试结果,提出改进建议,并与项目团队进行沟通和协调。

性能测试:

负载测试:通过对系统不断增加并发访问压力,直到系统的一些性能指标达到极限。主要目的是找到特定环境下系统处理能力的极限。
压力测试:指在系统已经达到一定的饱和程度(如CPU、磁盘等已经处于饱和状态)时,测试系统处理业务的能力是否会出现错误。其主要目的是检查系统处于压力情况下应用的表现。
配置测试:通过调整系统的软硬件环境,了解各种不同的环境对系统性能的影响,从而找到系统的最优配置。
并发测试:测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄露、线程锁、资源征用问题等。其目的是为了发现并发引起的问题。
稳定性测试:在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长的时间,以此检测系统是否稳定。
疲劳测试:让软件系统在一定访问量的情况下长时间运行,以检验系统在多长时间后会出现明显下降。
数据量测试:通过让软件在不同数据量情况下运行,检验系统性能在各种数据量情况下的表现,找到支持系统正常工作的数据量极限。
此外,还有基准测试、容灾测试等方法,这些方法共同构成了性能测试的完整体系,可以根据实际需求和系统特点选择适当的测试方法组合。

JMeter压测设计

使用JMeter设计一个详细的压测方案,需要遵循一系列步骤以确保测试的准确性和有效性。以下是一个基本的压测方案设计流程:
一、明确压测目标
首先,确定要进行压测的目标服务器及其相关业务或功能。明确压测的目的,例如评估系统在高并发下的性能表现,发现潜在的性能瓶颈等。

二、分析业务场景
分析目标服务器的业务场景,包括用户行为、请求类型、请求频率、业务流程等。这将有助于设计合适的测试场景,以模拟真实的使用情况。

三、确定压测参数
根据业务场景和目标,确定压测中的关键参数,如并发用户数、每秒请求数、请求大小、请求类型(GET/POST)等。这些参数将直接影响压测的效果和结果。

四、准备测试环境
确保JMeter已经安装在本地机器上,并配置好所需的Java环境。此外,根据压测需求,可能需要准备多台机器作为从节点,以支持分布式压测。

五、创建测试计划
在JMeter中创建测试计划,并添加相应的测试元件。这包括线程组、Sampler、Controller和Listener等。线程组用于定义并发用户数和循环次数,Sampler用于发送请求,Controller用于控制请求的执行逻辑,Listener用于收集和分析测试结果。

六、配置测试元件
根据测试计划,配置JMeter的各项参数。这包括设置线程数、Ramp-Up时间、持续时间、请求头等。同时,确保参数和消息体数据只选择其中一个,避免报错。如果需要上传文件,确保文件上传参数配置正确。

七、编写脚本
根据需要,可以编写自定义的JMeter脚本,以实现更复杂的测试逻辑和数据处理。

八、执行压测
一切准备就绪后,开始执行压测。在测试过程中,密切关注系统的性能指标,如响应时间、吞吐量、错误率等。同时,注意系统的稳定性和可靠性,确保测试过程不会对生产环境造成影响。

九、分析测试结果
收集并分析测试结果,检查任何潜在的性能问题。根据测试结果,可以调整测试参数或优化系统配置,以进一步提高系统性能。

十、编写测试报告
将测试过程、结果和改进建议整理成详细的测试报告,以便后续分析和改进。

JMeter设置

在JMeter中配置Sampler(取样器)是构建和执行性能测试脚本的关键步骤。Sampler定义了JMeter如何向目标服务器发送请求,并收集响应数据。以下是详细配置Sampler的步骤:

打开JMeter并创建测试计划:
首先,启动JMeter并打开一个新的测试计划。测试计划是JMeter测试场景的顶级容器,它包含所有测试元素。
添加线程组:

在测试计划中,右键单击并选择“添加” -> “线程(用户)” -> “线程组”。线程组定义了并发用户数和测试的执行逻辑。
添加Sampler:

在线程组内,右键单击并选择“添加” -> “Sampler” -> 选择适当的Sampler类型。例如,如果你要测试HTTP接口,可以选择“HTTP请求”Sampler。
配置Sampler属性:

根据所选的Sampler类型,配置相应的属性。以HTTP请求Sampler为例:
Web服务器:设置目标服务器的协议(HTTP或HTTPS)、服务器名称或IP地址以及端口号。
HTTP请求:选择请求方法(GET、POST等),填写请求路径和参数。如果需要上传文件或发送JSON/XML数据,可以在“消息体数据”或“文件上传”选项卡中配置。
请求头:如果需要,可以在此添加自定义的请求头。
其他高级选项:根据需要进行配置,如超时设置、Cookie管理等。
添加监听器:
为了查看和分析测试结果,需要添加监听器。右键单击线程组或Sampler,选择“添加” -> “监听器” -> 选择适当的监听器类型(如“查看结果树”或“图形结果”)。

保存并运行测试计划:
在配置完Sampler和其他测试元素后,保存测试计划。然后,点击工具栏上的绿色播放按钮来运行测试。

分析结果:
在测试运行完成后,查看监听器中显示的结果。你可以检查每个请求的响应时间、状态码、响应数据等,以分析性能瓶颈和问题。
请注意,对于不同类型的接口(如GRPC、JDBC等),Sampler的配置会有所不同。例如,对于GRPC接口,你可能需要安装并使用特定的JMeter插件,并在Sampler中配置proto文件路径和其他相关参数。

此外,JMeter还提供了许多高级功能和选项,如参数化、条件逻辑、变量提取等,可以根据具体需求进行配置和使用。建议参考JMeter的官方文档和教程以获取更详细和深入的指导。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值