测试基础

软件测试的定义

软件测试是贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行
验证和确认的活动过程,其目的是"尽早尽快"的发现软件中存在的各种问题
列如:与用户需求,预先定义的不一致性。

软件开发的生命周期:

1 客户提出需求(概念)
2 根据客户的需求写出相对的 <<需求文档说明书>>
3 前端同时设计效果图(原型)
    后台开发人员设计编写代码实现功能
    测试人员也会根据需求文档编写测试计划和测试用例
4 在后台开发实现功能后根据测试用例测试人员进行测试。
5 开发完全结束后测试人员进行整体测试, 全面测试,测试成功后上线
6 软件上线后根据用户体验和实际效果进行小版本迭代。

软件缺陷产生的原因种类:

1 需求变更次数频繁 理解误差 产品
2 开发和设计 代码问题  开发人员
3 运维 资源使用率产生  公司问题

测试流程

1 在立项会上根据客户需编写需求文档/规格说明书,ui设计原型图后台编码,
测试人员编写测试计划和测试用例
2 随着开发的代码实现测试进测试评审
3 代码实现后测试人员再进行冒烟测试
4 代码实现后测试执行测试用例
5 根据执行的结果进行对应的bug提交给相对应的开发人员让其修改代码
6 开发修改后我们测试人员进行回归测试
7 直到项目上线后 我们测试人员编写测试总结用于下一个版本的迭代

* 冒烟测试:在这个软件中主要的功能实现后进行测试
* 回归测试:在开发人员修改后进行的同一个问题的测试

软件测试的分类

1 按阶段划分:
    a. 单元测试 对一个模块测试
    b. 集成测试 对多个模块测试(有一定的关联)
    c. 系统测试 在软件编译后执行的整体测试
    d. 验收测试 对软件执行后端用户体验的测试
        α 阿尔法测试  有一定的开发测试人员的测试  内部测试
        β 贝塔测试    只有用户参与的测试         公测

2 是否运行程序划分
    a. 静态测试     UI设计图
    b. 动态测试     有执行代码过程中产生的问题

3. 是否查看源代码
    a. 黑盒测试: 见名知意 它就是一个黑色的盒子我们是看不见里面逻辑走向的
                所以只能通过盒子的外表进行测试,比如说页面上的点点点操作,输入
                数据得出测试结果 这就是黑盒测试
        a.1 功能测试:界面 安装 兼容 易用
        a.2 性能测试:压力测试 负载测试 一般性能 稳定性测试
                压力测试: 在同一时间内进行多个用户的访问
                负载测试: 在多个用户在一段时间的持续访问  (可能面试)

    b. 白盒测试: 它就相当于是一个透明的盒子可以看清楚代码逻辑结构 并且直接基于代码覆盖
                 所有逻辑结构的测试过程 关键是要懂代码并且会写来进行测试

    c. 灰盒测试: 它是介于黑盒与白盒之间,它不需要清除每一行代码的逻辑只需清除代码封装后端
                 的每个单个模块实现

常见的软件测试开发模式

V型(常用) :把测试过程作为需求分析,设计编码之后的一个阶段
ww 型: 测试开发同步进行实现的一个概念 
螺旋型: 大公司 国企用的多 客户始终参与每个阶段的开发 随时更改需求

v型

w型

螺旋型

公司组织架构

一般在公司内部部门有: 人事 财务 开发(前端 后台 移动端 测试) 市场(产品经理) 运维(产品上线的维护)    
开发 - 测试: 一个测试对应五个开发(一个前端 三个后台 一个移动端)

CEO     首席执行官
CTO     首席技术执行官
CFO     首席财务执行官
COO     首席运营执行官

UI
ANDROID
IOS
QA
TS
DBA
UE
RD

总监
项目经理  pm
    组长
    组员
    QA 与 QC 
产品经理

测试工具

world 文档  测试计划    测试用例    缺陷报告
接口工具    charles Fiddler Postman
性能工具    Jmeter Loadrunner
BUG管理工具 禅道 Jira   Bugzilla    Mantis
自动化管理工具  Selenium    Appnium untest pytest
云测工具    Testing
posted @ 2020-06-01 22:33  老祝头  阅读(126)  评论(0编辑  收藏  举报