软件测试与家庭装修
前段时间我发表了一篇名为《用动态的眼光看测试》的日志,很感谢大家的热烈评论,在大家的评论中有一些评语很有特点(原文“’当你发现测试无处不在的时候,才能说是真正深入到了这个领域’。这确实.当你达到这个程度的时候,你的生活也许并不美好.当你接触一个新的事物的时候,你可能首先考虑的是这东西是否有问题.难道这就是职业病???”),这些评语代表了特定人群对待软件测试的一些观点,很有代表性。所以,我打算用这篇文章来阐述一些软件测试在实际生活中的应用,用以回答上述评语。
最近我身边好多人都在忙着装修,或是结婚用房或是改善型住房,不管是出于哪方面的需要,经济和时间都是装修工程中需要面临的重要问题。对于上班族,即要保证工作时间,又要顾及装修中方方面面的琐事,的确不太容易。对于打算DIY装修的业主来说,制定好装修计划不仅能节约资金、时间,还能使装修变得更有条理,所以计划很重要。下面以期房为例,阐述装修的一些问题。
在购房完成后,业主可以根据开发商提供的户型图来了解房间的户型结构,如果是现房的话还可以实际测量一下。在得到户型图后,业主首先要考虑自己的居住需要,比如在哪个房间是卧室,哪里是书房,哪里做厨房等等,在确定好这些居住布局后,可以根据比例自己画个大一些的户型图(比如用A3纸),标明房间的具体功能。然后考虑自己的生活习惯,比如在书房里需要安装电脑,那么书房里安装网线、电源就必不可少了;又比如两个人的爱好不一样,希望在卧室里增加一台电视,那么有线电视、电源也需要了。以这个思路模拟真实的生活场景确定家具、电器的摆放位置,就可以在图上标记出需要在哪里安装电源,在哪里改动水管等等,很快你就会发现需要改动的墙面、水管、电线、有线电视线等等这些东西都可以在图上找得到。这样一来,就不会在装修的过程中边想边做产生遗漏了。
好,现在让我们回顾一下上述内容,就是在装修前需要考虑好自己的需要,可以分为以下几个步骤:
1. 了解房间户型结构
2. 确定房间具体功能
3. 模拟真实生活场景
4. 根据生活场景在图纸上标识出墙面、水、电等内容
如果是在做软件测试的话,上述的过程就相当于了解客户需求的阶段,当然在软件测试中这个阶段的内容会更复杂一些,比如了解客户的需要是要与实际客户洽谈的,在设计开始之前,需求的确定需要反复讨论,形成用户需求文档后,软件测试工程师还需要根据自己的专业知识和对真实场景的模拟对文档进行测试。在经过反复验证与测试后,该需求才会递交给开发和测试团队,分别开始开发设计和测试设计的工作。
来是继续装修的话题。接下来需要考虑的就是装修风格的问题了,可以在网上搜索一些效果图作为帮助,确定好装修风格之后,根据预算就可以制定采购清单了(善长绘画的业主也可以自己绘制出装修效果图),比如在采购清单里罗列出喜欢的物品颜色、样式等物品属性或者品牌、价格信息等,如下表所示:
表格 1家庭装修材料采购单
物品类别 |
详细名称 |
品牌 |
规格 |
数量 |
备注 |
价格 |
家具 |
床 |
红苹果 |
1.8m*2.0m |
1 |
颜色:红樱桃,最好带抽屉 |
|
床垫 |
|
1.8m*2.0m |
1 |
|
| |
电视柜 |
红苹果 |
|
1 |
放在小卧室,颜色:红樱桃(可选) |
| |
餐桌 |
|
|
1 |
颜色:浅色,6人餐桌 |
| |
沙发 |
|
|
1组 |
|
| |
…… |
|
|
|
|
| |
电器 |
客厅灯 |
|
|
1 |
|
|
浴霸 |
|
|
1 |
带防水灯的 |
| |
油烟机 |
|
|
1 |
免拆洗 |
| |
…… |
|
|
|
|
| |
卫浴 |
洗菜盆 |
|
|
1 |
两个盆 |
|
洗菜盆水龙头 |
|
|
1 |
|
| |
洗手盆 |
箭牌 |
|
1 |
|
| |
…… |
|
|
|
|
| |
定做 |
整体厨房 |
|
|
1 |
颜色:红色,需要加水晶板 |
|
洗手台 |
|
|
1 |
浅色 |
| |
…… |
|
|
|
|
| |
建材 |
卫生间墙面砖 |
箭牌 |
|
|
|
|
沙子 |
|
|
|
|
| |
地板 |
|
|
|
地热复合地板,颜色:浅色,除厨房、卫生间以外的地方 |
| |
墙面漆 |
多乐士 |
|
|
|
| |
…… |
|
|
|
|
|
在休息日就可以根据清单有针对性的逛街了,顺便还可以打听打听装修工人劳务费的行情,呵呵,事情进展得是不是变得有条理了呢?
我们再来讨论一下这个步骤与软件测试的关系。在做测试设计之前,软件测试工程师需要列出应用程序的功能特性,考虑需要测试的点。例如功能测试,需要考虑单点功能与关联功能等等,软件测试工程师根据对应用程序功能特性的了解,制定出功能特性列表,下一步就是根据列表所体现的内容制定相关测试策略了,当然功能特性清单与测试策略是需要项目经理测试、开发经理和测试经理评审的,通过评审的策略才会继续执行,否则将会对策略进行修改。上述的“家庭装修材料采购单”就相当于功能特性列表,当然我们都是装修的外行,装修策略的制定还需要与装修工人共同制定。
在收到钥匙以后,恭喜各位业主,装修进行曲即将开始啦!在确定门窗、水、电、煤气、上水、下水、供暖设施等不存在质量问题,实际测量房间大小确定物品摆放位置无误后,就可以拿出装修效果图与装修工人商议装修步骤啦,当然这些活计也可以列出清单来按步骤进行,在进行到特定阶段业主就可以考虑定制家具等问题了。工程的具体实施就交给装修工人来完成了,业主则负责质量监督和材料采购。
写到这里,软件测试工程师基本上就开始了测试用例的撰写,在撰写测试用例的过程中需要不断的与软件开发工程师进行沟通,或者通过需求变更讨论会来了解需求变更信息。
当装修工程完成以后,业主对装修质量进行检查,如果符合要求,就会付费给装修工人,装修工程就可以结束了。当然装修工程的质量也许会在未来几年的使用中才会有更深层的体验。
当软件工程师完成测试用例的撰写后,由项目经理、开发经理、测试经理、同行组成的评审小组对已经完成的测试用例进行评审,评审通过的测试用例才会应用于软件测试中,否则要对未通过评审的测试用例进行修改、评审。
装修工程结束了,我们的软件测试工作也告一段落,后期的测试中软件测试工程师们不仅会严格的按照测试用例执行测试,还会充分发挥出他们的测试潜能来创造更多的测试条件,高质量的完成测试的具体工作。
随着装修工程的结束,本文也完成了,软件测试的理念在生活中无处不在,但不代表神经质的“职业病”,将职业敏感应用到生活当中,相信我们的生活会更有条理,复杂的事情会变得更加容易。