软件测试之困:测试工程化实践之路--51Testing独家连载

发表于:2023-3-08 09:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:肖利琼    来源:51Testing软件测试网原创

  内 容 提 要
  本书以软件测试工程化思维为基础,立足项目,采用描述、对话和独白等方式讲述测试工作中发生的故事,内容丰富、实用性强,是一本能帮助测试人员快速成长的图书。
  本书首先介绍了测试工程化的认识和测试人员的商业意识;接着介绍了测试流程设计,以及如何通过流程拉齐各成员之间的目标,达到成员之间的合作有序和软件产品的质量可控;然后通过流程与技术的融合、测试用例规范化编写、测试平台建设和测试创新这?4?个重要测试主题的讲解,指导测试同行在测试工程化的道路上不断探索并找到流程、技术的最优解;最后介绍测试工作评价过程中的常见问题及解决方法。
  本书既可作为测试主管(或测试经理)和一线软件测试人员的进阶读物,又可作为软件开发及相关专业人士的参考用书。
  序    一
  什么是软件测试工程化?要弄清楚这个概念,首先需要理解什么是工程化,如软件研发如何从作坊式研发上升到软件工程式研发(可参考阿朱于2009年出版的《走出软件作坊》)。工程化一般从项目目标出发,经过获取需求、分析需求、方案设计、实现落地等一系列规范操作,实现阶段性目标,最终在预算内按时、保质、保量地实现业务目标,甚至可以做到“多、快、好、省”。工程化中存在计划、分析、设计、实施和评价等关键环节,而且重视项目管理、质量管理和工具的使用等,具体体现在3个方面:系统化、模块化和规范化,即能够系统地解决问题,而不是片面、局部地解决问题;面对复杂问题,能够逐层分解问题,然后各个击破;最终把解决问题的思路梳理成合适的流程、策略和模式等,并持续改进,保证软件测试能够持续、稳定地进行。
  读者基于上述理解,就容易理解软件测试工程化、测试计划、测试分析和测试设计等的重要性。在面对测试风险时,也会清楚如何寻找合适的测试策略来应对,并了解如何通过测试流程更好地保证测试质量,如何通过自动化测试提高测试效率,以及如何规范测试行为、评价测试结果等。这些都是测试中的重要工作思维,也就是工程化思维。测试的目的是守护质量,因此“防守”要全面、系统,尽可能做到万无一失,否则上线后某个功能特性可能出现严重缺陷,影响交付质量。测试工作符合“木桶原理”,即表现最差的环节会降低测试的整体水平。在测试工作中,工程化的思维和实践尤为重要,因为每一个环节都需要测试工程化的支撑。软件测试有以下发展趋势:从性能测试、安全测试发展为性能工程、安全工程,从测试发展为质量工程。
  本书从测试工程化的角度出发,关注市场需求和业务价值的实现,努力找到质量和进度的平衡点,帮助测试人员建立工程化思维。本书重点讨论测试流程设计、测试用例规范化、测试平台的建设、技术与流程的融合、测试工作评价和测试创新等主题,每一个主题都和测试工程化紧密相关。测试人员想要做好测试工作,本书涉及的这些内容不容忽视。因此,我们不是为了工程化而工程化,而是为了项目成功和业务成功的需要。现在,自动化测试和测试开发大行其道,除测试平台建设以外,其他环节容易被忽视,作者在这个时候写作这样一本书,就是为了点醒许多“梦中人”,提醒他们不要忘记测试之本,更不可本末倒置。
  本书在写作时使用了对话和独白的方式,可使读者身临其境,切实感受所处的工作场景,从而更容易理解作者的经验和思考。
  本书围绕实际案例介绍测试工程化的方方面面,内容丰富,语言活泼生动,读者在阅读中会感到轻松愉悦,在阅读后会感觉印象深刻、回味无穷。相信读者会喜欢本书,并从中受益。
  ——朱少民
  同济大学特聘教授
  《敏捷测试:以持续测试促进持续交付》作者
  序    二
  2006年,我作为一名测试工程师,赴香港并现场支持一个新特性的首次商用。为此,我进行了3个月的充分准备:熟悉需求、设计测试用例、搭建测试环境、执行测试、提交一堆bug、与开发人员一起定位问题和开展多轮回归测试等。通过努力,我对这个特性涉及的每一个需求场景、曾经出现的每一种bug类型、目前的质量现状,以及如何开启“后门”进行测试和调试,了如指掌。
  在特性开通的当晚,我在客户的机房中守候了一夜,并且在接下来的几天,持续关注各种指标是否正常。在观察后台的日志时,我被频频报出的错误码惊出了一身冷汗。从我以往的经验来看,每个错误码意味着系统里可能潜伏着一个严重的bug。可是,这并没有引起其他人的注意,因为既没有用户抱怨,也没有任何客户感知,现场反而一片称赞声,认为本次特性的商用开通非常成功,他们对我的现场支持表示感谢。
  虽然客户对我的测试工作表示认同,但是我对自己的测试工作却产生了质疑。在返回的途中,我一直在思考两个问题:
  我平常那么看重并全力以赴的测试工作,意义究竟何在?
  新特性在上线运行后明明有那么多错误码和潜藏的bug,为什么客户和用户都不在意?
  对于这些错误码,测试人员和开发人员通常会如临大敌,想尽一切办法降低它们发生的可能性。为此,我们耗费了大量的时间和精力。
  我清晰地记得,每当我在实验室发现一个错误码被触发的场景时,就会立即记录准确的信息并保留现场环境,然后让开发人员定位分析,最后修改代码,并验证问题是否重现。
  在平时的实验室测试中,只有反复尝试,才能“幸运”地触发一个错误码,然后提交一个有效的严重bug,就像找到“宝藏”一样;而在客户现场,我什么都不需要做,只是把特性开通上线,就有一堆错误码出现在面前。令人意想不到的是,现场客户关心的一些运营指标等,我在测试中却完全没有关注过!
  如何才能高效地开展测试呢?如何设置合理的测试目标呢?测试价值又是通过什么体现的呢?
  如果我只是把自己局限为一名普通的测试工程师,那么上述问题可能一直困扰着我。幸运的是,经过几年的不断思考,我渐渐明白,要从“测试工程商人”的角度思考问题。
  阅读本书时,我欣喜地发现,本书开篇就讲述了“测试的工程化”和“测试人员的商业意识”,并且以“房子验收”的比喻和人物对话的形式,生动、形象地诠释了“测试工程商人”。相信本书这样的安排会为很多与我同样处于“困扰中”的测试人员打开一扇窗,启发大家重新思考测试的价值。
  本书引用了“敏捷铁三角”模型,启发我们对测试工作进行进一步思考。
  系统的视角。从测试的约束(时间、范围和成本)、质量的目标和要求,以及对客户的价值等维度出发,系统地考虑如何做出每一个测试的决策。
  平衡的艺术。测试是一种平衡的艺术,需要我们在一系列问题中进行平衡和取舍:测试什么,测试到什么程度,如何变动和追踪测试的移动靶向目标,如何分配测试的投入,如何分配测试的时间,重点测试哪些质量属性,如何设定合理的质量目标,如何从用户的角度进行测试,以及针对哪种用户的哪种价值进行测试等。
  ROI最大化。正如本书提到的“测试是一种投资”,需要追求投入产出比(ROI)的最大化。这不仅仅是针对测试经理等管理者而言,而且每一位测试人员都应该在自己负责的工作范围内,像“测试工程商人”一样思考如何基于风险开展测试活动。当没有时间继续测试,又必须立即发布时,你是否能够确保所有已经完成的测试都比那些还没有开展的测试的优先级更高?你是否已经优先测试了那些风险和优先级更高的部分,让严重bug尽可能多地尽早暴露?
  本书穿插了众多“小故事”,这种写作风格可以让读者的阅读感到轻松愉悦,而且这种写作风格在技术类图书中难能可贵。这些小故事贴近日常工作,这得益于肖利琼平时收集各种素材和持续不断地思考测试领域的各类问题,我们能感受到她的用心和细心。她作为一名测试“老兵”,其敬业精神令人钦佩!
  建议各位读者寻找一段属于自己的休闲时光,沏一杯茶,轻松惬意地阅读书中的小故事,开启不一样的“奇妙”测试之旅!
  ——邰晓梅
  “海盗派”方法学创始人
  《海盗派测试分析:(MFQ&PPDCS)》作者
  对本书的赞誉
  本书作者肖利琼不但是杰出的软件测试专业人士,而且是优秀的软件测试团队主管。本书是作者在软件测试领域多年实践的总结,不仅仅是讲授软件测试的技术和实践经验,而且更是在传递软件测试工程化思想——一种将软件测试作为商业投资活动并与业务的商业成功相结合的理念。相信这种理念不但会让读者得到启发并在实践中受益,而且会助力企业取得成功。
  ——李新胜
  迈瑞生物医疗电子股份有限公司集团副总裁
  在数字化转型时代,软件测试工程化是非常复杂的,相当依赖测试人员在具体工程实践过程中积累的经验。在此过程中,我们会面对层出不穷的新技术与新工具。此时,我们需要以不变应万变,掌握软件测试的底层逻辑,透过纷繁、复杂的表象,回归软件测试的本质,以测试策略设计为主线,有目的和有针对性地开展各项测试活动。本书提供的理论与实践内容可以很好地体现上述逻辑。本书值得软件测试从业者细细品读。
  ——茹炳晟
  腾讯Tech Lead、腾讯研究院特约研究员、《测试工程师全栈技术进阶与实践》作者
  肖利琼是软件测试领域的实践型专业人士。本书是她多年从事软件测试工作的又一标志性成果。本书通过生动的测试故事、真实的项目案例、有趣的简笔画,将测试思维、测试技术、测试流程、测试评价融于一体。本书写作风格清新,令人爱不释手,阅读时犹如春风拂面。她提出“测试人员应该具备商业意识、标准化意识、创新意识”,这在测试领域具有前瞻性和导向性。
  ——崔启亮
  北京昱达环球科技有限公司培训经理、中国软件测试认证委员会(CSTQB)专家
  本书是肖利琼20多年实践经验与思考的总结,她将测试工程化的思想与方法娓娓道来,破解了测试人员面临的诸多困惑。测试生涯犹如攀登高峰,山路崎岖漫长,却奇景不断。读者以本书为手杖,在漫漫实践路上探索,一定能更上一层楼。
  ——史亮
  《软件测试实战:微软技术专家经验总结》作者
  本书通过生动的故事、对话,以及轻松的文笔,阐述了测试工程化的理论和实践,剖析了测试的深层机理,值得测试从业者阅读。
  ——陈晓鹏
  软件测试、敏捷及DevOps专家
  本书从测试工程化的角度提供测试实践中的经验,让人眼前一亮。本书作者结合自己的丰富项目经历,发掘出了大量测试实施过程中的痛点,并针对这些痛点给出了切实的解决方案和实施建议。无论是测试行业的新人,还是测试项目的管理人员,都可以阅读这本“接地气”的佳作。
  ——吴晓华
  “光荣之路”测试开发培训创始人
  肖利琼从事软件质量工作20多年,一直在思考和寻找测试工程化的方法并付诸实践,希望能够通过工程化方式将测试工程师从繁琐的测试工作中解放出来。本书是肖利琼多年软件工程化实践与思考的总结,是市面上测试工程化相关读物的上乘之作,给测试行业从业者在测试工程化方面的探索指明了方向。
  ——薛亚斌
  京东金融移动端测试负责人
  肖利琼在软件测试领域深耕20多年,积累了大量的软件测试工程化实践经验,她现将这些经验进行梳理并集结成书。
  你可以将本书放在办公桌上,当在工作中有疑惑的时候,可以翻开它,从中寻找适合自己的解决方法。本书提到的“测试人员的商业意识”尤其值得细细品味,或许会带给你新的启发。
  测试是一项没有终点的实践技术,正因为如此,它才值得我们不断探索。
  ——杨晓慧
  AI机器时代CTO、华为前测试专家
  前  言
  为什么写本书
  2010年前后,业界很多人都在讨论“软件测试的未来”这个话题,相当一部分人认为手工测试必然终结,未来将是自动化测试的“天下”。后来,笔者作为面试官,参加了多场招聘活动,发现上述言论对当时的测试从业人员和打算从事测试工作的人都产生了深远影响。在某个周末,笔者写了一篇以“软件测试的未来”为主题的评论文章,然后将它发布到国内知名测试网站51Testing上。在该文中,笔者提到了业界人员当时普遍存在的迷茫、浮躁等问题。第二天早上,该篇文章的点击量破千,并成为该网站置顶的头条文章。
  十多年过去了,IT界发生了诸多大的变化,软件测试领域也随之发生了很大变化。随着智能化时代的到来,软件出现在我们生活、学习和工作的各个角落,一些优秀的软件甚至改变了我们生活、学习和工作的方式。例如,网络购物、网络聊天、线上云课堂、线上办公和生活机器人等,软件在它们中起到了关键作用。软件本身的特性决定了工程化软件不可能没有bug,这也决定了有软件存在的地方便有软件测试的需求。软件测试工作的本质是通过发现问题来守护软件质量,正如很多同行提到的,测试是一项“挑刺”的工作。
  软件市场瞬息万变,测试行业在遵循市场规律的同时也在变化,但我们会发现,测试的底层逻辑是不会变的。每个测试人员的测试思维是不一样的,任何方法、工具都不能代替它,这与手工测试、自动化测试的测试手段并无直接关系。测试思维背后的内容有很多,不但包括测试人员对现有业务的认知,而且包括测试人员已掌握的编程语言、数据库、操作系统和网络等基础知识,以及测试人员思考问题的方式,而这涉及抽象能力、心理学、经济学等技能和知识,这些都将影响测试人员采取何种策略开展测试工作。
  笔者一直在测试领域耕耘,并且经常与业界人士探讨测试技术的变化与发展。每当在某些方面有所感悟时,笔者就会将它们记录下来,当积累到一定程度时,总想拿出来与大家分享,以期帮助更多的测试从业人员成长,共同推动行业发展。
  尽管市面上软件测试类的图书不少,但笔者发现很多图书采取“教科书式”的讲解方式,不够生动,难以吸引读者,于是笔者尝试改变写作风格,在不失科技类图书严谨性的同时,采取描写、对话和独白等方式讲述测试工作中发生的故事,并给出研发工作的实际场景,读者可以从故事和场景中感悟测试技术、测试流程的变化或创新的价值。
  由于笔者水平和时间有限,书中难免会存在一些问题,欢迎读者批评指正,并与笔者联系(邮箱为ch_testinfo@126.com)。本书编辑联系邮箱为zhangtao@ptpress.com.cn。
  致谢
  按照讲故事的方式编写科技类图书,这的确给笔者带来了不少挑战,但是,笔者的初心不变,直面挑战,最终完成了本书的写作工作。在此,感谢人民邮电出版社编辑的鼓励与支持。
  感谢我的女儿,本书中的简笔画均由女儿张顺媛创作,尽管她学业繁忙,但是依然抽出时间进行创作,这无疑给了我极大的支持。感谢我的先生张滔清,他一直在背后默默地支持我,他也是本书的第一位读者。
  感谢朱少民、邰晓梅在百忙之中抽出时间为本书作序,并为完善本书提出了许多宝贵建议。同时,感谢所有为本书写推荐语的同行。
  肖利琼
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号