如何做好测试分析

简介:
 以前在某公司离职时,老大建议我写一个 测试分析方法的文档,当时时间比较近只是做了一个分析图和简单的描述,今天整理以前的文档拿出来和大家再次分享并完善了一下内容。
  上面这个测试分析图展示的在一个全新的项目开始准备测试时,如果进行测试分析的基本方法。
  在开始接手一个新项目时,按照基本的测试生命周期流程(编写测试计划-测试方案-准备测试环境-编写测试用例-编写测试脚本-执行测试-反馈缺陷-调整或完善测试用例-回归测试-收集测试结果-编写测试报告)
  在编写测试计划和测试方案前,应该还有个测试初始阶段-主要 工作就是了解和分析系统,这是一个 学习成本。在传统的开发方法和 敏捷开发方法这个阶段的启动时间不同,在传统的开发方法中可能要等待需求说明书出来之后进行测试需求的分析,来确定测试范围,根据范围编写测试计划。 敏捷开发方法由于测试人员在需求讨论,那么了解和分析系统的事情在敏捷的需求讨论时就完成,而不在需要再等待需求说明书等需求文档。
  不管是传统或是敏捷的开发方法,测试初始阶段都是理解测试需求,根据理解的需求准备相关的测试工作。 那么如何理解需求并根据需求来编写测试计划和测试方案?这就是本文重点要阐述的一些方法:
   1、确定范围,任何产品的需求无非两种类型:功能需求和非功能需求
  测试需求范围确定按照测试不同阶段进行分层划分为: 单元测试范围、集成测试范围、 系统测试范围、验收测试范围;
  单元测试范围通常包括:单元功能正确性测试、单元功能容错性测试、单元代码结构性测试、单元测试代码 性能测试
  集成测试范围包括:模块或服务功能正确性,模块或服务接口一致性、模块或服务容错性、模块或服务的性能等
  系统测试范围包括:系统可用性测试、系统稳定性测试、系统安全性测试、系统业务能力测试等等
  当然还有用户验收测试: 用户核心业务支持能力测试等等
   2、确定测试点,也就是确定测试具体内容:
  测试通常是有测试参照物,例如需求分析,概要设计,详细设计等。
  如何确定测试点,也就是如何分析测试需求并找出测试规则, 根据不同的系统对测试人员的技能也有不同的要求:
   例如:
  测试一个业务系统,在集成测试和系统测试、验收测试阶段的测试点分析和提取,测试人员需要充分的了解这个系统要支撑的业务规范或规则,例如保险系统,证券系统,ERP系统等等。 这类系统测试要求测试人员更偏重于业务的知识。举个证券的清算系统,测试它就要业务清算规则和流程。
  测试一个技术性系统,例如 云计算 的测试,BI系统的测试,中间件的测试,网关系统的测试, 这类系统的技术性比较强,他的测试点或测试规则对应的是技术规范或技术规则。比如多媒体消息网关系统的测试,需要多种消息的传递和路由规则。不同协议消息的构造和解析规则。 些测试对测试人员的技术要求更强。
3、测试执行准备和场景设计时 ,也就是设计测试用例和测试场景时要充分考虑系统的技术特点。
  根据系统的设计和技术特点,来决定如何测试一个测试点或一个测试规则、一个场景。
  根据测试点和系统架构和技术输入,要有如下输入:
  1)测试上下文环境准备
  2)测试数据构造(测试数据按照类型分为,直接输入数据、规则数据、背景数据)
  3)测试调用方法
  4) 测试结果验证方法和测试结果截取方法
   4、确定工作量
  测试分析基本是由大到小,由外到里的分析方法
  确定大范围,规则细分,技术确认 最后就要估算测试工作量
  通常估算单个测试点的工作量再汇总的方式比较准确。
   小结: 测试分析能力是保证被测试系统被正确测试的保证, 测试分析就要确定测试范围和测试方法。 范围和方法决定了测试的正确性与否。 针对不同系统的测试分析时,对测试人员的技能有专向要求和知识储备。不要希望业务系统测试人员,能够做好云系统的测试。
最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
6月前
|
机器学习/深度学习 人工智能 测试技术
深入分析自动化测试中的挑战与机遇
【5月更文挑战第27天】 随着软件开发周期的不断缩短和发布频率的增加,自动化测试成为确保软件产品质量的关键手段。本文将探讨在实施自动化测试过程中面临的主要挑战,包括维护成本、测试用例设计、与持续集成的融合等,并讨论如何通过最新的技术趋势如人工智能(AI)和机器学习(ML)来克服这些挑战,以及它们为自动化测试带来的新机遇。
|
19天前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
59 3
|
2月前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
45 5
|
24天前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
2月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
67 1
|
2月前
|
监控 算法 测试技术
软件测试中的性能瓶颈分析与优化策略
本文旨在深入探讨软件测试过程中性能瓶颈的识别与优化方法。通过对性能瓶颈的概念、分类及其成因进行分析,结合实际案例,提出一套系统的性能瓶颈诊断流程和针对性的优化策略。文章首先概述了性能瓶颈的基本特征,随后详细介绍了内存泄漏、资源竞争、算法效率低下等常见瓶颈类型,并阐述了如何通过代码审查、性能监测工具以及负载测试等手段有效定位问题。最后,结合最佳实践,讨论了代码级优化、系统配置调整、架构改进等多方面的解决措施,旨在为软件开发和测试人员提供实用的性能优化指导。
62 4
|
3月前
|
前端开发 测试技术 UED
【测试效率对比】深入分析:为何UI自动化测试的投资回报率通常低于接口自动化测试?
这篇文章深入分析了UI自动化测试与接口自动化测试的投资回报率(ROI)问题,指出UI自动化测试在某些情况下的ROI并不低,反驳了没有实施过UI自动化就轻易下结论的观点,并强调了实践的重要性和自动化测试在项目迭代中的作用。
72 1
|
2月前
|
SQL 搜索推荐 测试技术
ChatGPT与测试分析
本产品需求文档(PRD)针对论坛网站的搜索功能优化,旨在提升搜索结果的准确性和速度,增强用户体验。文档涵盖项目背景、目标、功能需求(如搜索结果准确性、搜索速度优化、过滤和排序等)、非功能需求(如兼容性、性能、安全性等)、用户界面设计和技术架构等内容,并制定了详细的测试和上线计划,确保项目顺利实施。
27 0
|
5月前
|
存储 缓存 NoSQL
Redis性能测试实操记录与分析
Redis性能测试实操记录与分析
68 3
|
5月前
|
SQL 监控 中间件
【应急响应】拒绝服务&钓鱼指南&DDOS压力测试&邮件反制分析&应用日志
【应急响应】拒绝服务&钓鱼指南&DDOS压力测试&邮件反制分析&应用日志