测试开发笔记一(测试流程与理论)

2020-03-11  本文已影响0人  提摩太_e9ec

01 | 软件开发流程与项目管理


软件开发步骤

软件开发流程演变

传统瀑布模型>>敏捷开发模型>>DevOps开发模型

敏捷开发模型(Scrum)

产品BACKLOG:按照商业价值排序的需求列表,体现形式为用户故事

SPRINT计划会议:经讨论、分析、估算产出SPRINTBACKLOG,即任务列表

3个角色:产品负责人(Product Owner)、Scrum Master、开发团队

3个工件:产品Backlog、SpringBacklog、产品增量

5个事件:Sprint(迭代周期,包含后面4个事件)、Sprint计划会议、每日站会、Sprint评审会议、Sprint计划会议

5个价值:承若(愿意对目标作出承诺)、专注(把你的心思和能力用到你承诺的工作上去)、开放(项目中的一切开放给每个人看)、尊重(每个人都有他独特的背景和经验)、勇气(有勇气作出承诺,履行承诺、接受别人的尊重)

DevOps开发模型

重视开发人员(Dev)和运维(Ops)之间沟通合作。通过自动化“软件交付”和“架构变更”的流程,使得构建、测试、发布软件能够更加快捷、频繁和可靠。

持续开发:用到的工具有jira、git/svn、Ant/Maven/Gradle

持续测试:用到的工具有Selenium、Appium、Pytest、TestNG、Docker

持续集成(Continuous integration,缩写为CI):新功能代码与现有代码集成的阶段。每次集成都通过自动化的构建(编译、发布、自动化测试),根据测试结果确定新代码和原有代码能否正确集成在一起。

持续部署(Continuous delivery,缩写为CD):将代码部署到生产环境。让软件的构建、测试、发布更快及更频繁,减少软件开发的成本与时间。

持续监控:监控软件的性能来提高软件的质量,工具有ELK Stack。

02 | 测试流程体系


单元测试>>集成测试>>冒烟测试>>系统测试>>验收测试

单元测试(开发人员)

集成测试(开发人员)

软件系统集成过程中所进行的测试,目的是模块间的接口是否正确。

冒烟测试(测试人员)

对软件基本功能快速验证的策略

系统测试(测试人员)

验收测试(用户/需求方)

软件测试模型

系统测试工作流程

用例评审:需两轮,第1轮是组内评审,第2轮是产品与研发共同评审


image.png

bug管理流程


image.png

测试左移

往测试之前的开发阶段移

质量保障手段:

测试右移

往发布之后移

线上监控:

03 | 测试技术体系


接口测试内容

04 | 常用测试平台


建议用例和bug管理用同一个平台

中国80%的公司用Jira,其他20%的公司用redmine、禅道等,腾讯的TAPD也不错,我们公司用的就是TAPD。

05 | 黑盒测试方法


黑盒测试方法

06 |白盒测试方法


代码覆盖率常见概念

覆盖率统计的工具

流程覆盖

...

精准化测试

07 | 测试经典书籍


08 | 实战1


质量保证工作实施的三大阶段

app交付策略

常见后端发布机制

不同的环境对应不同的代码分支

建立测试准入机制

代码合并到测试分支,打tag时,持续集成根据打的tag自动打包并自动化测试

一般两周发布一个版本,测试时间通常只有3天,时间很紧张,故新功能我们靠人工解决,老功能靠自动化解决

什么时候编写自动化测试用例呢?

若提测前能够接触到研发中版本,可以在提测前编写自动化测试用例;若接触不到,后期补上也可以,用作回归测试

09 | 实战2


测试前沟通与分析

测试计划

以邮件或wiki方式通知相关人

1.项目概述


对该项目业务需求做简要描述,项目的主要功能及实现方式,项目名称、版本、背景

2.测试目标


对项目的业务需求做简要描述(如:要达到的功能/性能的概述,功能、性能、稳定性和进度上需要满足的要求)

3.测试范围和重点


以项目的角度分析测试范围和重点

4.测试策略


对于每种测试,制定测试策略时都需要考虑思路、方法、工具、技术等。
对于不能测试的功能点需列明,是否有替代的解决方案(比如开发自测、产品或服务人员协助测试)

4.1功能测试

功能测试策略。

4.2性能测试

性能测试策略。

4.3自动化测试

自动化测试策略,包含测试工具开发。

5.项目里程碑


任务 开始时间 结束时间
需求了解
UC评审
设计评审
测试用例设计
TC评审
自动化开发/测试工具开发
冒烟测试
功能测试
性能测试
第一轮回归测试
第二轮回归测试
预发布验证
发布

6.测试资源


6.1人力资源

列出此项目的测试参与人员及角色

6.2环境资源

1.列出此项目所涉及到的测试环境,包括测试机名名称及用途
2.测试环境部署方案:如果项目涉及环境多且复杂,有需要特殊说明的内容。如环境统一更新时间,部署顺序,注意事项等

7.风险列表


序号 风险描述 影响范围 风险系数 预防方案 备注
1 高/中/低

测试用例管理

10 | 实战3


上一篇下一篇

猜你喜欢

热点阅读