前言

​ 测试是无穷无尽的,100%测试不可能的。众所周知,随着技术日新月异的发展,当前软件系统越来越庞大,越来越复杂。一个软件系统可能由各种各样中组件组成,这些组件可能分布在系统的各个地方,在系统中所处的地位也可能是有所不同的。与此同时,当前互联网好多公司的核心业务代码比较老旧,缺乏相关文档与架构去了解学习,即使核心业务代码有问题只要不影响核心业务,也不会做相关变动。开发在基于这样的系统,在后续不断的迭代,丢失文档化可能越来越严重,这就可能造成相关的系统架构设计及业务,可能只在相关人员的脑子中情况。一旦相关人员从当前岗位离职,那这些系统的可测试性就很差、测试难度及风险就很大。

​ 对于系统庞大、可测试差的系统,要如何进行测试分析呢?面对这样的系统如何着手分析呢?

被测系统特点

​ 每个被测项目都是独一无二的。因此基于同一流程去进行测试,虽然可能完成相关测试,但是测试效果、测试人员、测试开发人员的体验肯定是不一样的,因此基于项目的独特性,应该重新调整测试流程,改善流程来整合项目资源。

新开发系统
  • 如果流程规范,会在开发相关阶段遗留对应文档,如产品规格书面书、系统详细设计、系统概要设计等,这些文档对于项目维护及后续介入人员了解项目是有很大的好处的。

  • 如果缺乏过程文档,当相关人员了解产品业务、设计与实现,这也能帮助后续人员学习。但这种会有一种风险,一旦人员流失严重,该系统就会成为一个“雷区”。

    基于上述两个原因,新开发系统会有以下特点:

  • 文档完备,便于后期维护、后续人员介入学习了解系统。

  • 人员完备,文档有一定缺失,这种情况会有老带新,学习效率高,但会出现人员流失风险,不利于团队知识积累。但不影响当前人员对系统分析。

  • 早期介入人员流失严重、文档缺失,这种情况测试学习成本高、风险比较大,系统不易维护。

历史遗留的老系统

历史遗留的老系统,这种老系统一般会有以下特点:

  • 定期维护,产品相关资料齐全。
  • 年久失修,文档缺失或者文档描述和系统实现脱离严重。
在历史遗留的系统上重新开发

在历史遗留的系统上重新开发会有以下特点:

  • 重新梳理老系统设计实现并规范开发阶段,对关键流程文档化。
  • 重新梳理老系统设计实现但在相关人员脑子里不留存,后续开发实现也不文档化,延用老系统恶习。

测试点先发散后收敛

​ 本文主要以以下两个场景来阐述如何发散测试点:

  • 关键文档定期维护,项目知识保留完整
  • 关键文档缺失或者年久失修,项目知识遗失严重。

​ 上述两种场景对测试人员最大的影响就是:学习系统的难易程度及时效性。对系统的理解的深浅,会造成一些关键测试点的遗漏。为了确保全面的分析被测系统,所以测试人员在熟练掌握了产品业务之后,还需要学习了解被测系统的架构及技术实现。所谓“知己知彼百战百胜”,只有足够了解系统之后,测试点才更全更对、更有针对性,测出的问题才更有专业性。

​ 基于对业务、系统的深层次了解之后,会发散出很多测试点。这些测试点可能包括安全测试、兼容性测试、性能测试、功能测试、易用性测试、UI测试等方面,这些测试点会很全面、也很多。关于测试点的发散,常用的发散方法有:等价类、边界值、错误推测、同类别功能类比、基于经验推测等方法。关于如何发散测试点,这里没法展开,因为不同人的测试思维是不一样的、每个人思维都是独特的,俗话说“众人拾柴火焰高”,所以整个团队在一起进行头脑风暴,效果是最好的,单个人会产生一定的思维壁垒,产生思维盲区,导致测试点的遗漏。因此测试点发散最好是整个项目全员参与,一起发现产品业务、系统设计、测试设计等各方面的缺陷。

​ 由测试人员整合项目其他成员的测试点,汇总成一个大而全的测试点,安排相关方一起评审该测试点。评审该测试点的主要目的是:

  • 确保测试点的全面性有无遗漏。
  • 基于项目发布周期,确定本次发布周期要进行测试点,与相关方达成共识,实现风险均摊。
  • 确定本期测试点之后,哪些测试点要划入下一期。

​ 这个评审的主要功能是把发散的测试点进行收敛,收敛一般基于以下准则:

  • 测试点影响大小。如果不测试该点,会产生什么影响,这些影响有多大,产生这种影响如何规避?
  • 测试点优先级。不同的发布周期呢,对系统在不同周期内,测试侧重点不同,会删减不必要的测试点?
  • 被测组件在系统架构中的地位。测试组件对系统架构的整体影响,会影响测试资源的倾斜及资源分配情况。如果被测组件影响整个系统,该组件的测试点会被要求全部执行。

总结

​ 测试点先发散后收敛,这个好处主要是“全面撒网、重点捕鱼、风险均摊、测试高效”。测试点先发散是为了确保思考的全面性,通过不同人员不同视角来获取对测试系统的不同方面的关注点,收集这些关注点,构化系统热点图。测试点收敛是为了针对性测试,针对系统测试热点,选取核心测试点,进行测试精准打击,缩小测试范围、重点突击容易出问题的功能,与相关人员就选取测试点,达成一致意见,风险均摊。


测试点先发散后收敛思考相关推荐

  1. 易信发布一个月后的思考

    8月19号,中国电信和网易发布了由双方共同打造的 IM 工具 "易信",用以抗衡微信. 我们先说说易信的功能:" 易信"的基本功能:除了支持文字.语音聊天,还可 ...

  2. 看北京爱情故事后的思考

    说句实话,这是我认认真真看的第一部电视剧.前几天,在和兄弟的聊天中,他推荐了这部电视剧.让我好好看看,看看别人是如何思考,看看别人的想法.于是我就把这部电视剧下载下来了.现在已经看完了,想记录一下自己 ...

  3. 工作总结8:从安卓调整到服务端后的思考

    前言 客户端开发的侧重点 后端开发的侧重点 浮躁的心 架构师之梦 跳出局限 总结 其他 Thanks 前言 距离写上篇博客已经有一个月了,年后由于岗位调整转去写后台,开发框架.开发模式的不同让我适应了 ...

  4. 粗读《构建之法》后的思考和收获

    利用出差的空挡,快速阅读了一下邹欣老师的<构建之法>一书.对我校软件工程的教学改革确实有很多值得参考的地方,强调实践环节和社会实际工作流程的结合,而不是为了实验而实验. 在阅读过程也有一些 ...

  5. Fix一个随机出现的键盘弹出的issue后的思考(ReactNative)

    最近花了近一周fix了一个移动端的bug,是个很有趣的bug,大概是这样的.这是一个比较长的故事,有兴趣的可以一直看. 是一个什么样的bug bug的表现是在一款tablet端应用使用很久之后,第一, ...

  6. java编程思想怎么样_读完java编程思想后的思考?

    谢邀,这本书真的给我带来很多思考. 我的java入门不是java编程思想,学校的教材是一本紫色的书,已经忘了叫什么名字了,里面内容倒挺新还讲了些javafx.但那本书实在是太浅并且结构混乱,以至于我和 ...

  7. 尝试Ping百度域名后的思考

    ping百度 你会发现ping www.baidu.com的时候,会转为ping www.a.shifen.com.但是ping baidu.com的时候却是普通的ip地址,而且ip地址还会变化.那么 ...

  8. mysql连接池泄露_一次线上故障:数据库连接池泄露后的思考

    作者:陈朗,普兰金融科技能效工程部开发工程师 一:初步排查 早上作为能效平台系统的使用高峰期,系统负载通常比其它时间段更大一些,某个时间段会有大量用户登录.当天系统开始有用户报障,发布系统线上无法构建 ...

  9. 第13-17章阅读后的思考

    第13章: 软件测试的意义在于: a.     发现软件错误: b.     有效定义和实现软件成分由低层到高层的组装过程: c.     验证软件是否满足任务书和系统定义文档所规定的技术要求: d. ...

最新文章

  1. SpringBoot第二十二篇: 创建含有多module的springboot工程
  2. 日周月筛选器_天谕2.09月3日周版本更新维护内容预告
  3. JDK synchronized的实现细节
  4. 【语义分割】PSPNet:Pyramid Scene Parsing Network
  5. Linux监控命令之 top
  6. html 显示文本字段,HTML文本框和文本字段样式_五五站长网
  7. JSK-390 计负均正【入门】
  8. 我的dota之路(下)
  9. STM8L 低功耗模式说明
  10. 等保测评--网络安全等级保护定级指南
  11. 怎么在qq空间引流?QQ空间生日栏怎么引流?
  12. “视”不可挡:征兵招警,近视手术成“通关法宝”
  13. 防护器件-ESD管知识普及
  14. 掌握三代全长转录组测序,看这一篇就够了!
  15. 如何通过python自动化薅短视频APP羊毛
  16. 2021江苏省南通市高考成绩查询时间,2021年江苏南通高考时间:6月7日至9日
  17. Emoji开源项目解读(一)系统表情
  18. Node.js:NVM工具的使用 nvm常用命令
  19. 热门的2B企业服务,资本是如何解读和判断的
  20. 大热的“滑板底盘”会以什么节奏落地?

热门文章

  1. ur机器人计算机模拟仿真,ur机器人编程-设置工具
  2. 入网许可证_入网许可证查询
  3. mysql管理利器sqlyogent初识(php建立数据库)_MySql管理利器SQLyogEnt初识(php建立数据库)...
  4. ROM、RAM、FLASH、IRAM、IROM、DRAM、DROM等简单介绍
  5. 金融风控中英文术语手册(银行_消费金融信贷业务)_version5
  6. MATLAB 渐进式形态学滤波
  7. EDA虚拟机分享2020版本(Synopsys2020)
  8. response.text和response.content
  9. Ensight后处理软件显示网格
  10. winxp 关闭445端口