• 0
  • 0
分享
  • 从开始到验收:我做外包项目测试的经验总结——软件测试圈
  • 曼倩诙谐 2022-10-14 13:58:17 字数 2045 阅读 892 收藏 0

  51Testing软件测试网正在收集测试行业问卷结果,如果你也想为测试行业的前景助力,就点击下方的链接提交答案吧,还有精美礼品等你拿(测试课程五选二)。链接:http://vote.51testing.com/


  项目背景

  某项目是一个OA管理系统(外包给一家南方公司),以JAVA为开发语言、VUE为前端框架、MySQL为后端数据库管理系统。去年9月开始立项、开发,一直到今年6月中旬发布,减除项目暂停期间,共历经7个多月。

  项目规模

  该系统主要由六大模块组成。项目成员有1名项目经理、1名开发经理、10余位开发、2名测试。

  项目测试情况

  2021年11月份末,部门经理找到笔者,让笔者到该OA系统项目做测试。由于要兼顾其他项目,每天有50%左右时间来做该系统的功能测试,大概持续1个月测试随项目暂停。

  2022年3月底,再度接到部门经理的通知,要进行该项目的验收测试。撸起袖子加油干,先制定了项目验收计划。

  接着找出编写过的测试点、重新梳理,并在验收测试过程中逐步完善。测试点分为两份,其中第一份覆盖全面,每个模块功能粒度很细,而上线前时间有限不允许全面测试,覆盖了重点模块主要业务流程即可。

  验收测试一共经历了3轮,第一轮1次迭代,第二轮6次迭代,第三轮20次迭代,进行更为严格的测试。

  项目测试过程中遇到的问题及小结

  1. 保证送测版本的质量

  第一轮验收测试,执行了第一个模块的41条测试用例,用时1周,测试用例执行失败率高达21.95%,笔者当晚马上向项目经理反馈,并推测未来的bug数量将不少于80。后续的测试也证实了,bug数量确实是超了80,总数正好达100封顶。

  项目经理在第二天即发出邮件通知外包方先进行内部测试,测试通过后再继续验收。随后外包方进行了内部测试,内部测试通过后笔者继续进行验收测试。项目经理的这个叫停决定很有效地保证了送测版本的质量,双方都减轻了压力,节约了时间。

  小结一下:

  (1)送测版本是需要制定一个标准的。在项目开始时要跟项目组约定,比如送测后已知bug数量超过N个,则打回版本停止测试。这里N可以根据项目或团队讨论决定。

  (2)遇到了重要事情一定要向上级反应,直至推动事情的解决。

  2. 重复的工作用selenium自动化测试替代

  该OA系统中流程模块是重点,主要涉及10张表单及流程,其中假别又分为11种假别类型。新建流程类是重复工作之一,除了下拉选择流程类别,其他字段一样,自然想到用到selenium自动化测试来解决。

  其次是发起11种请假类型,除了请假类别下拉选择,其他字段也一样,同样可用selenium自动化测试。第三,除了10张表单创建外,10张表单的审批功能也类似,可以用自动化脚本解决。笔者可以有更多的时间去做沟通、交互逻辑测试、测试数据分析、整理汇报等,效果还可以。

  期间参加了一个前后端综合测试训练营,有效地改进了bug定位方法,给外包开发同学提供有用的bug接口参数响应信息,收获颇多。

  小结:重复工作可以自动化。

  3. 沟通以诚为本

  外包公司派来一位前端同学,配合修改bug,并为外包内部开发人员和笔者中转沟通。笔者本着以诚为本的态度,所谓金诚所至金石为开,除了bug截图,对于不易再现或者双方有分歧的地方,提供传参和请求响应截图、录屏,能提供有助于定位bug解决bug的信息全力提供,所有能用上的方法都用上。

  最后要相信团队的力量,项目组员终因测试的真诚而认真处理bug,最终一起保证项目的质量和交付。

  4. 开发后期修复bug的成本永远比前期高出许多

  去年9月份至今年1月份期间,该系统已暴露的功能类bug100多,UI类bug100多,其中UI类bug基本解决,功能类bug迟迟未完全修复。直到验收测试阶段,缓慢地推进新bug的解决,系统趋近于稳定。

  截止笔者写稿时,尚有一个用户体验的问题在开发同学手中加班修复中,其余九十多个bug已全部解决。从时间跨度看,如果在去年项目前期解决了,不至于在今年验收阶段,花整整2个月时间测试、修复。希望小伙伴们项目团队可以引以为戒,在bug被暴露的时候就解决。这也很好地解释了测试的准则之一“尽早测试尽早发现bug”的真谛~

  5. 持之以恒

  由于项目周期长,开发团队新旧血液更换,时间长了业务容易遗忘、换了开发人员业务不熟悉不那么快速上手,导致测试过程中发现的bug,有的低级,有的反反复复激活。

  很早笔者向项目经理透露,该项目功能多,逻辑复杂,上手需要一定的时间。后来从其他同事得知该团队的开发技术一般。个人觉得,相比需要有经验的测试,该项目更需要有经验的开发,开发质量在某种程度上决定了项目质量。

  小结:这项马拉松式的验收测试,需要持之以恒的耐心、细心和责任心,也是我们测试同学的基本功~



作者:枫叶    

来源:http://www.51testing.com/html/02/n-7793402.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   很多人都发现ChatGPT可以做一些代码相关的工作,不仅可以写一些测试用例和自动化脚本,还可以做一定量的调优,于是就开始担忧起来,到哪天我的测试工作会不会被ChatGPT这个工具给取代了?  1. ChatGPT目前对哪些东西会有冲击?  聊天机器人:ChatGPT 可以生成人类式的回答,在聊天机器人领域中有很大的应用潜力,尤其是需要大量处理自然语言的行业,例如客服、智能助手。  内容生成:ChatGPT 可以生成具有逻辑的完整段落,可以被广泛应用于内容生成方面,例如在线教育、网站内容更新。  自然语言处理:ChatGPT 可以帮助人们更好地理解和处理自然语言,在自然语言处理方面,例如文本...
            0 0 560
            分享
          • 作为一名多年的测试人员,对测试这个岗位的存在,也有自己的一点拙见。纵观现在的互联网公司,不管是国际巨头,行业巨头,或初创型公司,测试的岗位都必不可少。但不同的公司之间,却又有很多的差异性,拿测试开发比来说:在 Google 公司,测试开发比为 1:10;但微软则能达到 1:1 甚至更高;笔者现在所在的公司,大概是到 1:3 左右。其实每个公司的配比,都是视本公司的业务形态/协作方式决定的,单纯靠配比来决定什么,也是不科学的。微软的一些测试人员需要写单元测试,相当于测试开发的角色,写出来的东西去测试开发写出来的代码,加之微软产品性质比如复杂操作系统,服务器产品之类的,需要的测...
            0 0 1934
            分享
          • 关于软件测试的定义,不同学者有不同的观点,了解软件测试的定义,对于日后在工作中是很有帮助的,首先要明确测试的定义,所谓测试,就是以检验产品是否满足需求为目标。而软件测试,自然是为了发现软件(产品)的缺陷而运行软件(产品)比较标准的软件测试的定义是:在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估。IEEE 标准的定义:使用人工或自动的手段来运行或测定某个系统的过程,其目的在于检验;它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。对软件测试还有一些不同的定义。G.J.Myers给出的定义:“程序测试是为了发现错误而执行程序的过程”。这个定义被软件测试业界所认可,并经常被引用...
            0 0 1458
            分享
          •   据 C114 通信网报道,中国联合网络通信集团有限公司(中国联通)发布《2023 年度供应商黑名单》公告。  根据《中国联通供应商黑名单管理办法》(中国联通集团〔2021〕150 号)相关规定,2024 年 8 月 8 日,经集团公司总经理办公会议审议决定,在集团公司范围内对 17 家供应商采取禁入措施,对 7 家供应商采取限制措施,禁入及限制时间自 2024 年 8 月 8 日起计算。  《黑名单禁入型》供应商中包括:  1、慧与(中国)有限公司(曾用名:中国惠普有限公司)  · 业务限制年限 3 年  2、威睿(VMware)信息技术(中国)有限公司  · 业务限制年限 2 ...
            0 0 299
            分享
          • 1、文本框和密码框:文本框长度要求;输入内容限制;密码框(右边小眼睛):长度要求(前台控制、数据库控制、磁盘控制)输入内容限制(数字、字母、文字、特殊符号、空)不允许明文显示禁止复制粘贴两次密码要一致2、单选按钮、组合列表框、数码框单选按钮框架标题/提示文本不缺少且正确;各个选项正确;执行同一功能的多个单选按钮只能选一个;要有默认选中项;一般不能取消选中;存入后台的数据正确;存入后台的数据正确;组合列表框/下拉列表;通常单选,条目内容正确(没有多余/错放、缺少项);横向显示要完整;条目功能要正确实现;组合列表框汇总可能允许输入数据;数码框(up-down控件)能使用上下箭头控制数字变动;数字能...
            0 0 1760
            分享
      • 51testing软件测试圈微信