优秀的developer----自测优势及规范

简介: 本文章针对于弹性计算项目,合作方出的自测规范,仅供参考

一:自测背景

开发人员做好自测,非常必要,也是大趋势。前期都是开发自测(包含必要的测试),后期才是用户体验方面的测试;从成本上分析,BUG越晚发现修复成本越高;从修改的效率来讲,越早处理会越快。另外,写出高质量的代码,是能力的体现,专业的体现,自身价值的体现。一个优秀的开发者,自测的bug一定会多于测试发现的bug,也就是轮到测试的时候bug数量相当少。

二:疑难问题

  1. 时间和进度太紧张
  2. 对自己代码过于自信,自认为很健壮,不忍心去修改
  3. 认为这是测试的责任,多度依赖测试
  4. 不知如何有效的做好自测,覆盖全面

三:思维转变

  1. 代码质量、项目质量均是我们的责任。
  2. 测试和开发人员思考问题不同,开发是在制造软件,测试是在破坏软件,想办法去找出问题。
  3. 任何功能都有正常场景和异常场景,多数使用等价类和边界值去选择数据,覆盖全面。
  4. 不要相信任何开发的代码是无bug
  5. 走出具体实现时用的开发思维,站在需求和用户的角度去自测是否通过,假如自己是用户去测试你的功能

四:不好好自测带来的痛处

  1. 需求遗漏:一旦被用户发现此问题,用户印象会大打折扣,可能直接从开始使用即放弃使用,将带来非常大的客户流失
  2. 功能事故:主流程功能没有测试到位,或者异常场景没有测试到位,导致线上频繁报错,体验极度不好,直接认为就是事故
  3. 需求延期上线:如果自测不充分,测试花大量的时间去沟通低等级bug,甚至主流程走不下去,这样无疑会给开发带来返工、重复测试、耗时、需求延期、项目延期等一系列问题。

五:自测报告规范

功能模块介绍及背景介绍

  1. 功能、背景介绍
  2. 使用用户群体介绍

环境信息

  1. 版本号
  2. Hosts
  3. 预发or正式
  4. 账密信息
  5. 功能设计文档以及UI设计图等

评估时间

梳理好的自测点

  1. 编写代码时候记录的业务点
  2. 需求变更的自测点
  3. 正反向场景测试点
  4. 易用性测试点
  5. 兼容性
  6. 开发此功能是否会对其他功能造成影响(需要leader评估)

自测实际结果:

  1. 高等级bug数量
  2. 中等级bug数量
  3. 低等级bug数量
  4. 单元测试覆盖率
  5. 单元测试通过率

期望结果:

  1. 高等级bug数量为0
  2. 中等级bug数量为0
  3. 低等级bug数量不超过5
  4. 单元测试覆盖率90%
  5. 单元测试通过率100%

是否具备提测标准

  1. 实际结果在期望结果之内则表示通过,否则不通过。

六:测试案例--新增安全组规则

1.先找出我们要测试的测试点
1.1、规则方向
创建入口决定了规则方向,所以只需要关注从哪个创建入口进入,观察二者是否一致

image.png

image.png

1.2、授权策略

image.png

1.3、协议类型

image.png

1.4、端口范围

image.png

1.5、授权对象

image.png

image.png

1.6、优先级

image.png

1.7、描述

image.png

1.8、界面展示

image.png

2.像这种多种因子的测试,我们尽量交叉测试,这样大大减少工作量.

image.png

image.png

2.1、正常场景和异常场景创建

2.1.1、我们输入正常场景的数据,创建看能否成功
2.1.2、输入上述数据异常的场景去创建,查看确定按钮,或者是否能创建成功。

比如这种情况就不能出现:

image.png

3.1、结合业务
3.1.1、企业安全组创建规则

image.png

image.png

image.png

因为涉及到业务的问题,暂时先举例这么多

七:祝福

最后祝愿每一个developer都成为一名优秀的开发者,在代码的世界里,越走越远。

备注:编写代码的时候记录自测点,可以用xmind或者excel或者笔记本都可以,只要最后罗列出来的都通过测试即可,要有记录。

相关文章
|
安全 测试技术 数据库
测试流程规范--准入准出规则
为了加强测试部软件测试的质量控制及与测试相关部门、人员更好理解测试各阶段的准入/准出条件而建立的准入/准出规范。
2808 0
测试流程规范--准入准出规则
|
运维 Devops Java
阿里巴巴DevOps实践指南(十三)| 测试提效
分布式测试为测试速度插上了翅膀,精准测试有效的识别出了测试的范围,增量覆盖率又为测试的不断完备提供了有利的指引,线上覆盖率帮助我们有效的进行应用瘦身。充分利用好这些技术手段进行测试提效,可以让持续交付的过程更加的顺畅
阿里巴巴DevOps实践指南(十三)| 测试提效
|
人工智能 API 决策智能
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
【7月更文挑战第8天】智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
15141 134
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
|
自然语言处理 安全 Java
【软件测试】教你如何写一份软件测试报告
【软件测试】教你如何写一份软件测试报告
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
智能化软件测试:AI驱动的自动化测试策略与实践####
本文深入探讨了人工智能(AI)在软件测试领域的创新应用,通过分析AI技术如何优化测试流程、提升测试效率及质量,阐述了智能化软件测试的核心价值。文章首先概述了传统软件测试面临的挑战,随后详细介绍了AI驱动的自动化测试工具与框架,包括自然语言处理(NLP)、机器学习(ML)算法在缺陷预测、测试用例生成及自动化回归测试中的应用实例。最后,文章展望了智能化软件测试的未来发展趋势,强调了持续学习与适应能力对于保持测试策略有效性的重要性。 ####
|
12月前
|
人工智能 自然语言处理 机器人
copilot和chatGPT的区别
比较了OpenAI开发的两个工具:ChatGPT和Copilot,指出ChatGPT主要用于自然语言交互,而Copilot专注于辅助编程,同时提到了它们的训练数据、应用场景和交互方式的不同,以及Copilot的价格信息。
1078 0
copilot和chatGPT的区别
|
敏捷开发 小程序 持续交付
【规范】Git分支管理,看看我司是咋整的
本文介绍了Git分支管理规范的重要性及其在企业中的应用。通过规范化的分支管理,可加速团队协作、确保代码质量、维护主分支稳定,并支持敏捷开发。文中详细描述了主分支(如master、develop)和辅助分支(如feature、hotfix)的作用,并提供了实际开发流程示例,包括开发前、开发中、提测、预生产和部署上线等阶段的操作方法。旨在帮助团队提高效率和代码质量。
2964 0
【规范】Git分支管理,看看我司是咋整的
|
消息中间件 测试技术 领域建模
DDD - 一文读懂DDD领域驱动设计
DDD - 一文读懂DDD领域驱动设计
38887 5