1681203161926","leaves":[{"text":"\t总结复盘会--->讲述遇到的问题,以及解决优化的方案.","marks":[]}]}],"state":{}}]">软件测试活动只是关键的质量保证活动之一
1.开发代码的质量同样也是保证软件的质量活动
2.产品经理编写的文档同样也是保证软件的质量活动
验证软件的正确性?如何去验证?
参照需求文档/原型图中逻辑验证软件的正确性.
测试用例是测试人员执行测试的依据,测试用例当中包含软件测试的功能点,以及测试的范围.
软件生命周期阶段:
1.客户的问题引入进行定义
产品经理收集客户的需求,进行整理.
2.可行性分析
经济:1.是否可以带来具体的经济效益
2.当前项目组的资金是否可以开展当前的项目.
政治:不涉及政治敏感问题.
法律:
技术:技术评估,当前项目组的技术是否能够支持研发工作
3.项目的招投标.
项目组拟建发布公告,吸引有资质的承建单位,来完成项目的部分研发工作.
4.项目立项 1.制定项目计划 2.招人,分配工作 3.制定项目的工期,以及完成的标准5.需求分析 开发/测试/产品进行实现项目需求文档进行分析, 找出需求当中存在错误的地方,以及存在歧义的地方 进行讨论,达到项目理解一致性. 6.开发编码 设计:开发人员设计项目主要服务器\数据库相关配置. 统一开发编码的语言. 编码: 测试: 7.维护 跟进用户反馈的问题.跟进项目版本迭代的任务.
典型的软件生命周期模型:
当前项目组的开发测试的模板流程图.
瀑布模型:v模型:w模型:h模型:迭代开发模型:增量开发模型:敏捷开发模型:1.瀑布模型瀑布模型是在1970年提出的软件测试开发模型,普通模型也是最早包含测试阶段的模型. 瀑布模型的缺点: 1.瀑布模型测试行为在开发编码之后,就会导致测试人员针对前面阶段发生的事情不清楚. 在执行测试的时候,就会导致测试的覆盖度不够,存在漏测的情况. 2.如果在下面阶段发生了需求变更的情况,就会造成返工的情况,增加相应的工期. 瀑布模型的优点: 1.清晰表达了项目组所有阶段的模型 2.阶梯展开,一个阶段结束,代表下一个阶段的开始.它适用于大型的项目工作. v模型: 用户需求: 客户提出需求,产品经理对接用户收集需求,整理需求文档. 需求分析: 产品经理召开需求评审会议: 项目组所有成员.产品经理会去讲述需求文档/ 原型图当中软件功能点以及逻辑. 参会人员:根据产品经理所讲述内容进行提问. 1.需求当中一些逻辑实现原理 2.名词讲解 3.找出需求当中存在歧义的地方,需求错误的地方. 4.当前的技术是否可以支持当前功能点的开发. 概要设计(HLD): 概要设计是由开发设计的. 主要设计当前项目的服务配置,数据库数据存储设计, 包含当前项目的主要功能实现的设计. 详细设计(LLD): 详细设计是由开发设计的. 参考概要设计,去完善当前项目的分支功能,以及当前 项目接口设计工作. 编码阶段(coding): 编写代码实现软件的功能. 单元测试(UT): 白盒测试--->单元测试--->透明盒子测试. 针对底层代码的检测. 单元测试是由开发执行. 单元测试的方法: 1.语句(代码)覆盖:每一个语句都需要执行运行一次. 2.判定覆盖:所有的判断节点都需要运行一次. 3.条件覆盖:所有可能出现的结果都需要运行一次. 4.判定条件覆盖:结合了盘点覆盖和条件覆盖的场景 5.组合覆盖--->所有条件组合的情况都需要运行一次. 6.路劲覆盖:所有可能执行到的代码路径都需要运行 一次. 集成测试(IT): 也叫组装测试--->把所有开发开发好的功能集中部署 在测试环境. 集成测试的重点--->模块与模块交互--->接口进行交互 1.关联模块数据获取是否正常 2.测试当前的功能是否产生影响,是否可以正常适用. 系统于系统:当前系统与第三方系统的对接是否正常. 系统测试: 冒烟测试:测试当前项目的主体功能,判断是否存在 主体功能缺陷.如果存在主体功能缺陷,接下来的测试 就会中断,导致测试无法开展. 如果存在主体功能缺陷:打回代码包给开发进行修复 工作 如果没有问题:测试接下细节点功能. 系统测试: 也称全量测试--->包含项目的所有功能检测. 界面测试,功能测试,兼容,性能,安全,易用,可靠,可用 ,移植性测。 回归测试: 回归测试是测试上一轮所产出的bug,验证当前的bug 有没有解决,以及有没有产出新的bug. 验收测试(uat): 验收测试一般在预发布环境执行,由测试人员辅助 产品经理进行验收.看项目有没有出现问题. v模型输入与输出关系:输入:用户需求 输出 需求分析输入:需求分析 输出 概要设计 输入:概要设计 输出 详细设计 输入:详细设计 输出 编码 输入:编码 输出 单元测试 输入:单元测试 输出 集成测试 输入:集成测试 输出 系统测试 输入:系统测试 输出 验收测试v模型的优点以及缺点: 优点: 1.更加详细概括了测试的阶段 2.他是一个串行结构的模型,测试都有参考的依据 缺点: 2.测试的活动还是在开发编码之后,对于前期引入的问题 不清楚W模型:增量开发模型: 项目被划分为一系列的增量,每一个增量都交付整个项目需求中的一部分功能。需求按优先级进行划分增量的交付。所有增量的模块功能是已知的.增量开发模型,他是将待开发的系统进行模块化,进行分批次的分析,设计进行交付给用户适用.每一次增量开发都是一个完整(类似v模型开发模型).优势: 1.可以分批次交付系统模块,可以按照用户的反馈进行 调整开发顺序,也可以按照最开始制定开发顺序开发模 块交付. 2.已模块进行开发,如果一个模块开发过程当中出现了 风险,不会影响整体的开发进度.敏捷开发模型: 在1990年提出的开发模式. 敏捷开发大致 1-2周一个版本. 优点: 1.快速的,持续的交付软件的功能来满足客户的需求。 2.快速的适应市场. 缺点: 1.开发周期短,针对开发的技术要求比较高. 2.在开发过程当中不会产出一些实质性的文档.可能 需求就是一句话. 3. 测试的时间短,导致测试范围覆盖度不够,可能用户 使用时还存在较多的bug没有解决.迭代开发模型:所有迭代的模块功能是未知的.优点1.反馈的周期短,每个阶段的工作成果可以快速的交付客户2.降低产品的风险.开发工作根据市场的调研进行开发工作.可以快速适应市场的变化.
H模型:
|
|