敏捷开发模式下的测试思考

BECK27 2015-11-05 09:06:37
一,拿到BI,首先做四件事情
1.这个BI产出的业务背景是什么?
2.这个BI要帮助什么业务场景实现哪些功能?或者要帮助对应相关的业务处理什么事情?
3.这个BI关联到其他哪些模块?这些功能模块如何被设计实现?数据流动是怎样的?
4.要准备哪些测试数据去覆盖业务场景?

例如:有个BI卡片写着:“PJK0130-定损平台:导入功能优化:导入失败规则”
如果是我去测这个BI,那么就要去了解:
首先了解定损平台的业务背景,通过问SA,问业务同事,我们知道,原来定损平台是处理车险客户案件的车辆定损,配件定损,修理厂等等的相关业务;
其次,导入功能在做定损业务时,具体实现一个怎样的功能作用?通俗的说就是:导入在这儿干嘛用的?
导入功能优化:导入失败规则,和其他哪些模块有关联影响呢?这里我们应该会想到也许会跟规则有关联,那么导入的这些数据从何而来,到哪而去?
了解完以上三点之后,我们就开始构想该怎么去测了,这时问题又来了,我该造什么样的数据,在导入的场景中去测呢?
二,关于测试的思路
1. 切记不要偏离业务实际情况,而一头钻进需求文档中,为测系统而测系统。这一点在做性能测试时也尤为重要!在一切事情没有明确之前,测试要敢于
质疑需求,BI有时未必是合理的,设计也未必是合理的,要联系实际业务场景去测试系统功能的实现,联系系统上下构造去理解功能模块的设计。
谨记:做出来的系统,主要是为业务的一切场景而服务的。
测试的宗旨就是:保证系统(产品)质量,让一个拥有高质量高效能的系统去更好的为业务提供服务;

2. 使用系统时,站在用户的角度思考:用户群体是哪些人?ta们最关心的是什么?
分析系统时,站在开发的角度思考:某个功能的实现,如何去设计代码?各个功能模块采用什么机制关联起来?数据库表设计是否严谨?...
测试系统时,站在业务的角度思考:我执行这个案例的目的是什么?我操作的业务场景,业务流程正确吗?我准备的测试数据覆盖到业务场景了吗?
这些数据的实际输入与预期输出符合业务需求吗?发现的问题跟踪到底了吗?这个BUG产生的原因是什么?最终
是如何被解决的?上线前的回归测试覆盖度如何?...
3.养成画流程图的习惯:业务流程,前后台交互流程,数据流向图等,画完这些流程图,要了解流程的每一个节点的作用是什么?很多BUG往往就是出现在
某一个节点上,因为某个节点运作失败,或者节点作用失效而造成的。知道这些,有助于测试更好的设计测试案例,甚至提前通过
后台测试(接口测试,单元测试等)尽早的发现问题;
例如:车险理赔系统的任务平台,操作一个查勘任务时,按业务要求完成查勘数据的输入后,点击“发送”,系统正常情况下是返回发送成功的提示。
那么问题来了,我在查勘任务页面输入的数据发送到哪里去了?如果系统设置的自动提调规则在查勘这一环节被触发,后台是通过什么机制触发的?
触发之后生成的提调任务,是由哪个后台模块处理的?...这一系列的疑问,通过画“业务流程,前后台交互流程,数据流向图” 可以很清晰的理解
并在测试时,造准确的数据,设计有效的业务场景;

4.针对每个需求覆盖的功能点,关联模块,工作流程,有针对性的设计测试案例,评估案例粒度。比如页面元素验证(输入框,字段展示等),功能实现逻辑,
工作流程控制及影响点,异常操作(系统容错性)的相应机制;

5.学会跳出开发的角度评审开发设计文档,以及学会利用后台运行日志定位系统问题;
三,关于团队沟通
1.一个BI,一定要是测试,开发,BA/SA三方理解达成一致的前提下,才启动开发-测试-验收工作。从而避免后期修正的时间成本;
2.测试与开发的沟通,主要以暴露问题为主,问题越确切,越有助于开发有效并快速定位问题并解决。暴露的问题不一定都是BUG,
也可以是代码逻辑上的疑问。不要抛出类似“某某模块出现BUG了,你看看是什么回事?”,“这里为什么报错了?”,“你的BI
大概什么时候可以showcase?”等等类似增加沟通时间成本的问题,我们发现BUG了,第一时间记录下来,重现场景给开发。我们
想知道开发什么时候可以showcase,可以直接问他:“这个BI6月10号可以showcase吗?”
3.测试有必要第一时间知道系统的任何变动,无论是需求上,设计上的,环境部署的等等变动,测试必须第一时间收到通知。
4.对于自己负责的需求一定要多问为什么,背景,目标,设计,实现等,合理设计功能测试案例
5.了解需求对生产业务的影响度,性能,效率
6.版本发布计划评审以及各需求的首移时间确定:版本计划和版本各BI的首移时间,测试人员是可以提要求的,如果评估移交时间有风险可以提出异议
7.版本测试案例设计和评审:及时完成需求和开发设计的理解,并完成测试案例,此环节一定要主动思考,与开发积极互动,不能只做开发的测试执行
...全文
1496 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
loneba 2016-01-23
  • 打赏
  • 举报
回复
引用 3 楼 BECK27 的回复:
多谢各位前辈指点,我是站在一个测试人员的角度出发,去总结如何更好的保证项目质量及业务需求被完整的实现,已达到上线标准
你说的测试黑盒测试吧?敏捷开发,开发人员也要要参与一部分测试工作的
BECK27 2016-01-19
  • 打赏
  • 举报
回复
多谢各位前辈指点,我是站在一个测试人员的角度出发,去总结如何更好的保证项目质量及业务需求被完整的实现,已达到上线标准
  • 打赏
  • 举报
回复
引用 1 楼 crazy1stone 的回复:
你的标题是 在敏捷模式下,可是我大概看了下,好像和敏捷没什么关系
我想 lz 的意思,是吧“站立开会、没事儿也沟通”看作敏捷。也就是说,是把行政概念上的那些东西看作敏捷,而技术上还是传统的软件工程那些。
crazy1stone 2015-12-31
  • 打赏
  • 举报
回复
你的标题是 在敏捷模式下,可是我大概看了下,好像和敏捷没什么关系
目录   译者序   第2版前言   第1版前言   第0章不可知和不可说   0.1和解析体验相关的问题   0.1.1解析模式的冲突   0.1.2检测解析模式   0.1.3思考不准确的思想   0.2沟通的不可能性   0.2.1内部重新组织   0.2.2触及共享体验   0.2.3管理不完美的沟通   0.3聆听的三个层次   0.3.1三个层次和方法集   0.3.2三个层次与本书   0.3.3守-破-离   0.4那么,明天我做什么   第0A章不可知和不可说:演进   0A.1沟通和共享的体验   0A.2守-破-离   第1章创造和沟通的合作博弈   1.1软件和诗歌   1.2软件与博弈   1.2.1博弈的类型   1.2.2软件与攀岩   1.2.3创造和沟通的博弈   1.2.4软件与工程化   1.2.5软件与模型构建   1.3再论合作博弈   1.3.1程序员成为沟通专家   1.3.2更快地博弈   1.3.3标识物和道具   1.3.4减少回报   1.3.5对于首要目标的充分度   1.3.6对于积淀的充分度   1.3.7博弈中的博弈   1.3.8开放源码开发   1.4这对我意味着什么   第1A章创造和沟通的合作博弈:演进   1A.1沼泽游戏   1A.2合作中的竞争   1A.3其他领域的合作博弈   1A.4软件工程的重建   1A.4.1这一词汇从哪里来   1A.4.2我们从哪里走错了   1A.4.3重建软件工程   1A.4.4技艺   1A.4.5合作博弈   1A.4.6精益制造   1A.4.7重建后的软件工程   1A.4.8其他工程化中的协作   第2章个人   2.1人是古怪的   2.1.1寻找特征函数   2.1.2古怪性格的元素   2.1.3不可避免的多样性   2.1.4技术的作用   2.1.5相互冲突的共同点   2.2克服失败模式   2.2.1犯错误   2.2.2宁可失败也要选择保守   2.2.3创新而不研究   2.2.4不能始终如一的习惯动物   2.2.5使用纪律和容忍来应对   2.3以一些更好的方式工作   2.3.1具体化   2.3.2实物   2.3.3在某些东西的基础上进行修改   2.3.4观察和聆听   2.3.5支持专注和沟通   2.3.6工作分配要与个性相匹配   2.3.7天赋   2.3.8奖励要能保留乐趣   2.3.9组合奖励   2.3.10反馈   2.4利用成功模式   2.4.1善于四处寻找   2.4.2人们学习   2.4.3可塑性   2.4.4贡献和采取主动   2.4.5组合成功模式   2.4.6英雄也是普通人   2.5明天我该做什么   第2A章个人:演进   2A.1策略平衡   第3章团队的沟通与合作   3.1信息的对流   3.1.1延迟和机会损失成本   3.1.2尔格-秒   3.1.3渗透式沟通   3.1.4穿堂风   3.1.5信息辐射源   3.1.6热空气理论的应用   3.2跨越沟通的鸿沟   3.2.1沟通的形态   3.2.2去掉某些形态所产生的影响   3.2.3利用各种形态   3.2.4黏度与跨越空间的鸿沟   3.3团队就是集体   3.3.1友善和冲突   3.3.2工作时间的公民意识   3.3.3敌意的XP与友善的XP   3.3.4使用胜利来建立“团队”   3.3.5团队文化与亚文化   3.4团队就是生态系统   3.5我明天该做什么   第3A章团队:演进   3A.1一个修订后的办公室布局样本   第4章方法集   4.1一个交付软件的生态系统   4.2方法集中的概念   4.2.1结构术语   4.2.2范围   4.2.3概念术语   4.2.4发布一个方法集   4.3方法集的设计原则   4.3.1常见设计错误   4.3.2在方法集上成功的项目   4.3.3与作者的相关性   4.3.4七条原则   4.4细看XP   4.4.1XP简介   4.4.2剖析XP   4.4.3调整XP   4.5到底为什么使用方法集   4.5.1方法集解决什么问题   4.5.2如何评估一个方法集   4.6明天我应该做什么   第4A章方法集:演进   4A.1方法集与策略   4A.2组织级的方法集   4A.3过程就是循环   4A.4更简单地描述方法集   第5章敏捷与自适应   5.1轻但足够   5.1.1刚好足够   5.1.2对于编制文档的建议   5.2敏捷   5.2.1最佳击球点   5.2.2虚拟团队的麻烦   5.3变得自适应   5.3.1不厌其烦地进行反思   5.3.2方法集成长技术   5.3.3反思研讨会技术   5.4明天我该做什么   第5A章敏捷与自适应:演进   5A.1对于寓意的误解   5A.1.1迭代必须简短   5A.1.2敏捷团队必须驻扎在一起   5A.1.3敏捷团队不需要计划   5A.1.4架构已死;重构是你全部所需要的   5A.1.5我们不需要什么经理   5A.1.6敏捷开发在纪律上要求很低   5A.1.7敏捷只适合最优秀的开发人员   5A.1.8敏捷是既老又新的、失败的、没有尝试过的   5A.2敏捷方法集的演进   5A.2.1XP第2版   5A.2.2Scrum   5A.2.3实用主义和无名的   5A.2.4可预测、计划驱动和其他中心调整   5A.2.5约束理论   5A.2.6精益开发   5A.3新的方法集话题   5A.3.1敏捷项目管理   5A.3.2测试   5A.3.3用户体验设计   5A.3.4规划管控、Burn图和系统工程   5A.3.5用例和用户故事   5A.4经久不绝的问题   5A.4.1最佳击球点和下降   5A.4.2固定价格、固定范围的合同   5A.4.3敏捷、CMMI和ISO9001   5A.4.4何时停止建模   5A.4.5高科技/高接触的工具箱   5A.4.6敏捷的中心   5A.4.7你有多敏捷   5A.4.8引入敏捷   5A.5软件开发之外的敏捷   5A.5.1项目组合管理   5A.5.2客户关系   5A.5.3合同   5A.5.4将变更引入组织   5A.5.5程序员读哈佛商业周刊   5A.5.6建造房屋   5A.5.7机场建设   5A.5.8图书出版   5A.5.9会议组织和敏捷模型的限制   第6章Crystal方法集   6.1对Crystal家族塑形   6.1.1核心Crystal元素   6.2CrystalClear   6.2.1CrystalClear的简要描述   6.2.2CrystalClear的反思   6.3CrystalOrange   6.3.1CrystalOrange的简要描述   6.3.2CrystalOrange的反思   6.4CrystalOrangeWeb   6.4.1CrystalOrangeWeb的简要描述   6.4.2CrystalOrangeWeb的反思   6.5明天我该做什么   第6A章Crystal方法集:演进   6A.1Crystal基因代码   6A.1.1合作博弈的理念   6A.1.2方法集的重点   6A.1.3方法集设计原则   6A.1.4高度成功的项目的7个特性   6A.1.5技术与选择   6A.1.6样本方法集设计   6A.2CrystalClear   6A.3把CrystalClear扩展到Yellow   附录A敏捷软件开发宣言   附录Aa敏捷软件开发宣言和相互依赖声明   附录BNaur、Ehn、宫本武藏   附录BaNaur、Ehn、宫本武藏:演进   附录C后记   参考文献

5,177

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 质量管理/软件测试
功能测试压力测试安全性测试 个人社区 湖南省·长沙市
社区管理员
  • 软件测试
  • 虫无涯
  • 小博测试成长之路
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎大家加入到软件测试的社区,在这里,希望大家勇于发表自己的看法,欢迎大家分享自己在软件测试工作过程中遇到的问题以及工作经验分享。

1.想转行的小伙伴,遇到问题没有及时回复的,可以私聊小博进行反馈

2.大家对社区有好的建议,都可以在社区发帖进行反馈

推荐大家学习的软件测试入门笔记:软件测试入门学习笔记

试试用AI创作助手写篇文章吧