• 软件测试 -- 进阶 3 软件测试设计


        我并没有什么方法,只是对于一件事情很长时间很热心地去考虑罢了。-- 牛顿

    1. 设计是什么?

    • 设计是有目标、有计划的创造和创作活动,按特定需求制定解决方案。
    • 设计指把头脑中的设想/想法通过合理的规划、周密的计划、有效的方式表达出来的过程。

    2. 设计的目的

    • 从使用者思维角度、观点、立场出发,评价、看待问题,发现问题重点,构想和规划,找到解决方案
    • 响应用户、满足需求、解决问题、提升信心、提高品质

    3. 设计的基本原则

    • KISS:Keep it Simple and Stupid,保持简单和愚蠢。设计越简单越好,任何没有必要的复杂都是需要避免。
    • 奥卡姆剃刀:Occam's Razor。如无必要,勿增实体,Entities should not be multiplied unnecessarily。避重趋轻、避繁逐简、以简御繁避虚就实。
    • 5W1H:Who谁、When什么时间、Where什么环境、What做什么、Why为什么、How怎么样
    • 用户故事:User Story,从用户角度出发描述用户希望得到的内容,包括用户、活动、价值(目标)3个方面。模式:作为一个<角色>, 我想要<活动>, 以便于<商业价值> (As a , I want to , so that
    • 合理规划、周密策划、预先计划

    4. 设计的基本步骤

    • 理解业务,了解业务规范、业务流程 -- 标准是什么
    • 理清需求,明确用户动机、需要、期望 -- 问题是什么
    • 明确资源,梳理技术、环境、时间要求及限制 -- 要求是什么
    • 确认目标,确认设计对象(产品/服务)-- 做成什么样子 
    • 设计执行,将用户需求转化为对产品/服务的规划,使设计满足需求的形式、内容、行为,满足经济、技术可行性 -- 实现什么成果
    • 改进更新,不断接收新的需求和业务信息,深入了解、不断改进 -- 改进完善

    5. 软件测试设计

    基本方法:提问题 -> 明标准 -> 确资源 -> 定操作

    • 理解业务:软件应用行业是什么?行业标准是什么?基本的操作流程是什么?标准的操作过程是什么?行业队标有哪些?
    • 理清需求:用户问题是什么?业务现状是什么?要做成什么样子?有什么特殊要求?
    • 明确资源:技术要求?系统架构? 完成期限?实现内容?投入投资?
    • 确认目标:系统名称?运行环境?功能集合?非功能集合?验收标准?
    • 设计执行:测试对象?测试策略?为什么这么做?有什么处理异常?
      谁(who),在什么时间(when)、什么环境(where)下,执行什么(what)操作、实现怎样(how)结果,为什么(why)这么做(有什么漏洞)
    • 改进更新:需求变了吗?设计变了吗?代码变更了吗?还有哪些遗漏?100%覆盖了吗?

    6. 软件测试设计实例

        先放一放,想来与测试策略和测试用例一起更合适。

    7. 软件设计 与 软件测序设计

    • 软件设计是为了构建满足用户需求的软件系统
    • 软件测试设计是为了构建一系列场景、方法,以验证软件设计与实现符合用户需求
    • 软件设计是“立”,软件测试设计是“破”
  • 相关阅读:
    Flutter之hydrated_bloc源码分析
    【机器学习】数据科学基础——机器学习基础实践(一)
    chrome Dev Tools 性能分析 performance
    Rabbitmq 常见问题处理
    linux设置systemctl启动
    【IoT】产品经理:人性洞察的底层逻辑
    微信小程序中生成普通二维码,并根据二维码里的参数跳转对应的页面
    创建飞书自定义机器人发送 Gerrit 消息提醒
    【操作系统】为什么需要内核
    Javascript 笔记:object
  • 原文地址:https://blog.csdn.net/u012841352/article/details/127778451