浅谈测试分析与测试用例的编写

简介: 最近有朋友问测试用例相关的内容,我就冒充一名测试人员写下这篇文章图片。文章写的应该会比较的粗,从比较浅的视角下介绍功能测试是如何进行功能测试点分析的,以及测试用例的编写需要包含的一些关键点。如果想了解测试方法的话可以去相应的论坛或者找书籍进行学习哦,本文就不会涉及到这些知识点啦。

浅谈测试分析与测试用例的编写


一、引言


   最近有朋友问测试用例相关的内容,我就“冒充”一名测试人员写下这篇文章。文章写的应该会比较的粗,从比较浅的视角下介绍功能测试是如何进行功能测试点分析的,以及测试用例的编写需要包含的一些关键点。如果想了解测试方法的话可以去相应的论坛或者找书籍进行学习哦,本文就不会涉及到这些知识点啦。


二、测试分析


   针对一项功能在进行测试前,准确的说应该是需求出来后、技术开发前就需要先对功能的具体实现、业务逻辑和可能存在的问题进行分析和列出测试点,并能够提前对技术开发中可能会产生的Bug做预判并与之沟通,然后形成测试用例,以便在功能开发提测后按照用例步骤进行测试。


   我将测试分析的内容大致分为以下5个方面,通过从不同的角度去思考功能的测试点以达到较全面覆盖的目的。


1.  界面功能


       界面功能就是客户端能够看到的内容,功能使用的结果,界面交互的行为,界面内容的呈现等进行测试步骤设计,按照需求描述和效果图进行测试,确保界面功能符合预期。例如以下这些内容:


  • 界面是从哪里打开的,重点需要对打开的条件进行测试。


  • 界面元素的布局是否正确,内容是否正确,还需要考虑用户UE交互。


  • 界面进行跳转的正确性,功能在使用时的正确性。


  • 界面层级的层叠是否合理,需要注意多个界面打开时的层级问题。


2. 逻辑功能


       逻辑功能是除了客户端能看到的内容以外,客户端的执行逻辑,服务器的执行逻辑等。具体就需要根据被测业务的逻辑顺序图或者描述去针对每个点进行设计测试步骤。简单列举以下这些内容:


  • 功能是否符合预期的结果,服务器的响应是否符合正确结果。


  • 有多人交互的时候,需要考虑逻辑顺序是否正确。


  • 重新登录,服务器重启等操作后的数据和结果是否正确。


  • 涉及多个节点之间通讯时,还需要考虑延迟,逻辑顺序等


3. 异常测试


       所谓异常点测试,就是想着法的破坏功能的正常逻辑,检查客户端和服务器是否都对这些异常的措施进行检查判断。例如以下这些内容:


  • 边界之外的情况是否有做判断


  • 交互顺序是否可能出现颠倒


  • 服务器高延迟,闪断拉起等情况下的业务逻辑是否正常


  • 客户端的灭屏,重登等


  • 频繁的操作,例如疯狂点击,快速点击等。


4. 数据测试


       针对被测业务的客户端和服务器所需的配置数据、产品数据进行测试,以及对数据存储进行测试。例如以下内容:


  • 客户端本地存储内容的修改


  • 服务器配置文件的修改


  • 服务器产品数据的修改


  • 数据是否可以正常入库,关键数据与非关键数据的入库机制等


5. 专项测试


       这里就是对被测业务的更深入性的测试,包括了客户端性能、服务器性能、协议接口测试。例如以下内容:


  • 在弱网情况下的业务表现是否正常,在断线重连等情况下是否正常。


  • 针对业务进行服务器性能压测/客户端性能测试,看是否有性能问题和泄漏。


  • 协议测试,针对客户端与服务器交互的协议,修改协议内容进行测试。


  • 接口测试,针对业务接口代码进行测试。


三、编写测试用例


   对一个被测业务进行测试分析后,基本上就会形成一系列的测试点和执行步骤。有些时候或者有些项目在比较忙的情况下会使用上面形成的测试点就开始对业务进行测试了,但编写测试用例依然是比较重要的,即可以整理测试的流程与步骤,也可以方便后续人员的测试执行等。


   测试用例的结构内容设计不同公司各不相同,但一般会包含以下这些内容:


   1. 测试目的


       说明执行的目的,经常许多的测试步骤都是在针对一个功能点进行测试,通过测试目的可以很好的理解在干嘛。


   2. 前置条件


       执行这步用例的时候,可能需要进行一些条件的准备,例如人物等级达到多少级,道具数量设置为多少个。


   3. 模块/子模块


       进行模块划分是方便的将一个大的功能业务划分成不同的小块,这样在设计用例的时候更加清晰。执行测试的时候也会比较清晰。


   4. 测试步骤


       具体描述怎样进行操作,步骤说明。


   5. 期望/预期结果


       执行操作后需要针对这个操作提出正确情况的结果是怎样的,切记不要全部都是”符合预期"这样的无意义的内容。


   6. 测试结果


       执行的结果是通过还是不通过,不通过就可以记录Bug单号或者备注问题。

   最后上一张图,根据不同的测试设计要求不同,模板也会多种多样,例如可能有公司名称,变更记录等等。


微信图片_20220424114613.png


欢迎微信搜索"游戏测试开发"关注一起沟通交流。

相关文章
|
1月前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
82 3
|
2月前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
50 5
|
1月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
62 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
1月前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
2月前
|
测试技术
测试用例设计方法之基本路径测试法
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法,设计出的测试用例要保证在测试中程序的语句覆盖100%,条件覆盖100%
113 7
测试用例设计方法之基本路径测试法
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
73 1
|
2月前
|
监控 算法 测试技术
软件测试中的性能瓶颈分析与优化策略
本文旨在深入探讨软件测试过程中性能瓶颈的识别与优化方法。通过对性能瓶颈的概念、分类及其成因进行分析,结合实际案例,提出一套系统的性能瓶颈诊断流程和针对性的优化策略。文章首先概述了性能瓶颈的基本特征,随后详细介绍了内存泄漏、资源竞争、算法效率低下等常见瓶颈类型,并阐述了如何通过代码审查、性能监测工具以及负载测试等手段有效定位问题。最后,结合最佳实践,讨论了代码级优化、系统配置调整、架构改进等多方面的解决措施,旨在为软件开发和测试人员提供实用的性能优化指导。
73 4
|
2月前
|
测试技术 数据库
『软件测试2』 关于黑盒测试和测试用例的基础知识
该文章讲解了黑盒测试的基本概念以及如何编写有效的测试用例,包括选择合适的输入数据、预期结果的设定和测试执行的步骤。
|
3月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
82 1
|
2月前
|
SQL 搜索推荐 测试技术
ChatGPT与测试分析
本产品需求文档(PRD)针对论坛网站的搜索功能优化,旨在提升搜索结果的准确性和速度,增强用户体验。文档涵盖项目背景、目标、功能需求(如搜索结果准确性、搜索速度优化、过滤和排序等)、非功能需求(如兼容性、性能、安全性等)、用户界面设计和技术架构等内容,并制定了详细的测试和上线计划,确保项目顺利实施。
30 0