影响单元测试效果的重要决策(下)
单元测试的成效不仅和技术决策相关,管理措施对单元测试的影响同样重要。
继续分析“配置测试环境”如何影响单元测试。
作为支撑测试活动的IT设施及办公设施,测试环境对于测试的执行效率和项目和产品质量信息的分享至关重要。IT团队创建的应用多种多样,包括基于桌面的办公类/娱乐类、基于手持终端的学习/娱乐/办公,基于穿戴设备的......等等,不同类型的IT设施的信息处理能力、操作便捷性差异大。IT人----单元测试的资助和实施者----需要根据产品或项目特点确定单元测试在哪种基础设施环境执行。
可能的选择包括:
对于桌面应用性软件产品
测试活动可以在桌面开发环境下实施,明显的优势就是容易访问测试资产和结果,有利的因素包括测试活动与编码任务共享配套设施;方便编码工程师兼顾测试个人代码,方便结对编程和测试协作;不利因素是需要配置更多测试设施的许可证;
如果选择使用专用测试工作站/服务器,明显的优势就是测试工作可以高效/可靠执行。有利因素包括集中测试开发团队的代码,适合长时间运行测试;不利因素是测试时机不灵活;
环境选择不当的风险包括:
若只配置桌面环境,不能尽快了解整体代码状态;
若只配置独立环境,不利于缺陷及时验证。
嵌入式软件应用:
可以选择仿真器中执行测试,明显优势是突出业务逻辑验证:有利因素是可以使用宿主的软件资源、系统服务,测试执行效率高;不利因素是硬件逻辑的支持范围受限;
也可以选择采用产品硬件平台中执行单元测试,突出优点在接口操作、性能评估更真实。有利因素包括硬件操作逻辑/效果更可信;不利因素是测试框架特性受限/测试灵活性下降,原因是嵌入式设备的内存空间、通信管道能力有限);
不当选择的可能诱发的风险包括
若只配置仿真环境,无法检查和排除硬件访问代码的缺陷;
若只配产品硬件环境,不利于代码缺陷及时检查和验证。
现在分析“呈报测试结果”如何影响单元测试
精心的安排的测试进展状态或测试结果的报告,既能保证质量状态的及时沟通,还能促成测试任务的顺利推进甚至团队士气的提升;随意发送的测试报告影响团队气氛并增加沟通困难。单元测试的倡议者、附和着、管理者等IT人需要选择单元测试(静态检查、动态用例执行和分析)的进展、结果公布范围;
可能的选择包括:
对于日常开发测试任务在开发小组内通报,时机、形式和内容、方式可灵活选择;这种方式方便小组成员及时回应,可以增强士气、改善氛围;
对于项目关键阶段开发测试任务,可以开发团队内报告,报告的时机、内容及格式、方式尽量固定,报告接收人需要精心选择,以确保问题有效跟踪、资源调整、其他改进措施的及时落实,需要对测试问题答复时明确指定回复人员;
对于质量整改专项包含的开发测试任务,可以在专项任务团队内报告;报告时机、内容及格式、方式最好事先确定,报告接收人需要精心选择,同样问题跟踪及回复人员当明确指定;
测试结果报告方式如选择不当可能引发的风险
关键岗位的开发人员会面临信息风暴,影响正常工作。非相关人员接受不必要的负面信息,影响团队士气;
测试中发现的瓶颈/阻碍性问题不能及时处理;
无效的,误导的分析,还干扰正常进程,延误时机;
现在分析“管理测试资产”如何影响单元测试
测试资产是IT组织重要的技术积累,测试资产管理和复用方式对测试的执行力影响巨大。IT组织中的单元测试的倡议者、附和着、管理者需要选择单元测试资产的管理方式。选择有:
资产使用后丢弃(不考虑积累);资产如由简单临时任务使用,不考虑重用/容易再现;
另一种资产管理方式是,在IT组织暂无统一规划时由测试承接人保存/备份;适合IT组织暂无管理规划,而具有复用价值的测试资产管理,对于有阶段复用价值、最终会被成熟手段代替的资产,也可以选择这类管理方式;
与其他开发资产统一纳入配置管理;这是品质伙伴建议IT组织选择的资产管理方式,一旦开发团队基础设施就绪就尽早采用;这种方式需要配置管理计划要到位;
选择不当引发的风险
显然对需要规模时间、人力投入所创立的资产如何管控,要及时评估管理方式;
否则测试活动低水平重复,低效率;
测试环境易用程度低,缺陷验证效率低。
现在分析“强化个体测试能力”如何影响单元测试
IT团队的能力的基础是个体的能力,在IT圈子里谋生的技术员希望成为大牛是最自然的事,做好单元测试无疑是大牛们的重要技能,大牛们写代码又快问题又少的秘诀就在这。我们看看大牛们是如何成长起来的。
具有大牛潜质的开发人员有强烈的做测试达人的意愿,对问题刨根问底;未来的大牛们习惯于研究和钻研,梳理测试脚本语言和程序设计语言异同;会主动掌握,常用的测试语言、保留字;不会放过钻研测试设计模式、测试框架范例、测试用例创建、修订、复用等机会;
大牛们的目标更高,不仅学做测试达人;在开发实践中,不忘增强自己的能力,随时扩展知识面,包括更好的规划测试、为测试增加应用构造配置;以及探索更好的测试流程、设计、编码、调试、自动化;
也有不少技术人员,会做出“聪明”的选择。尽力完成任务;尽量发现可以复用的测试资产,借助周围的经验;探求和掌握业界最有前景的技术;
不同的选择会有不同的结果,选择不同会使开发人员成为不同的职业角色,
部分“聪明人”,时常得掩饰问题,又不得不修复问题;结果事与愿违啊,不断遭遇和测试沟通时不愉快的体验;
最后分析“打造团队测试能力”如何影响单元测试
团队的测试能力,对产品开发的成败至关重要。这些能力不仅是技术资产和知识,更重要的是测试活动组织方式、管理推进经验。软件开发组织如需在市场上建立独特竞争的优势,就必须建构强大的团队测试能力。
具有长远眼光的IT人,自然会关注团队测试能力的建设的技术知识、管理经验、测试设施积累多种事项。在建设团队能力这点上,IT人可能会有不同的选择。包括:
IT组织中的乐观派:视单元测试主要为态度问题;趋向采用口号、标语、鼓励加班、突击动员、总结、表彰会措施等方式发展团队测试能力;
IT组织中谨慎派:视团队单元测试能力与管理和技术均密切相关。测试能力的提升需要获取和普及单元测试知识、并且在实践中灵活运用;需要IT人了解获得理想单元测试效果的内在制约要素,制定与项目需要、团队技术积累相适应的、合理的投入和回报预期;通过组织、规划、引领等方式、分阶段稳步地推进测试任务同时增强团队的测试能力;
品质伙伴观测到,IT团队的选择不当会引发的风险:
无法形成有效的技术积累和能力储备,项目结束,团队解散;
无法持续稳定维持代码质量,质量问题反复出现,项目团队长期超负荷运转;
无法产生有效的团队测试能力,困守在高手总在民间、组织在搜索局面。
品质伙伴认为开发团队的单元测试是否达到预期,不是一件简单的事情。需要从管理和技术上均采取措施。衷心希望各位关注单元测试的IT界同仁一起努力,一步一个脚印,逐个项目、逐个产品选择测试技术、落实测试任务,避免选择陷阱,将单元测试工作稳步推向前进。