测试基础3.14
战力会议 分3个部分 --分别是昨天干了什么 今天准备干什么 存在什么问题
研发部门 -- 后端 前端 测试 产品 运维
直属领导 --测试经理 项目经理 测试组长(汇报给测试组长 测试组长汇报给测试经理)
测试软件的经典定义: 在规定的条件下对程序进行 操作,以发现程序错误 衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试的自己理解: 分为 质量管理和效率提示 质量管理主要提现在3个方面分别是 会沟通 风险把控 过程推动 效率提示 主要是测试技术
测试流程
需求评审(PRD 需求设计文档)评审通过分2个部分 1个是开发写代码 一个是 测试部门也测试计划 写测试用例 然后审评测试用例 然后开发转侧(开发转侧之前 需要对代码进行冒烟测试)2个一起开始测试 测试完成 产品上线

测试要求是 全程参与 并且具备测试技术
测试定义分段理解
在规定的条件下 -- 一般指需求边界 时间有限 有开始就有结束
发现程序错误 一般有2种错误 一个是指功能性错误 一个是指 非功能错误 非公能错误一般一般有3种 不同的浏览器 安全性 性能测试
衡量软件的质量
1、新功能测试通过
2、系统已有功能测试通过
3、所有bug已经解决
以上也是测试完成的标准
一般软件测试的原则是期望测试能够尽早的介入整体研究流程 尽早进入可以带来几个优势,具体如下:
尽早进入可以带来几个优势
1、尽早的熟悉产品的需求以及产品prd的设计文档以及产品逻辑
2、从敏捷角度而言 文档的准确性以及文档的 可用性也是需要测试被验证的之一(一般测试很少这样做)
3、协助产品 站在用户的角度以及测试的角度来思考产品设计逻辑的合理性
4、尽早进入可以更多的理清程序的逻辑
5、在具体到产品进行PRD评审的时候,能够尽快的进入到具体的逻辑和思考中,而不至于说之前的不理解 可能一直游离在思考的阶段
软件测试的目的:
发现问题 发现至今未发现的问题,检查系统是否满足需求。软件测试的目的具体为:
测试程序执行的过程,目的在于发现问题
一个好的测试用例在于能发现至今未发现的问题
一个成功的测试是发现了至今未发现的错误的测试
测试包含的内容
UI的页面展示,程序内部的逻辑交互,页面提示信息,UI的页面布局展示和色调等
测试的十大原则:
1、测试应基于用户需求
2、做好软件测试计划是做好软件测试的关键
3、应尽早的开始软件测试 并不断的进行软件测试
4、测试前必须明确定义好产品的质量标准
5、避免测试自己的软件(程序员转侧给测试员 测试员一定要进行冒烟测试)
6、应充分注意测试中的集群现象
7、必须检查每个实际输出的结果
8、穷举测试是不可能的
9、测试设计决定了测试的有效性和效率
10、注意保留测试设计和说明文档,并注意测试设计的可重用性
测试计划应包括:所测软件的功能, 输入和输出, 测试内容, 各项测试的进度。
软件测试分类
按阶段分(开发流程)
单元测试 继承测试 系统测试 验收测试
单元测试(unit test) 白盒测试的一种方法 代码中方法或者函数最小颗粒度的测试
java 里面的Junit和TestNG框架 Python里面的UnitTest 和Pytest测试框架
TDD驱动开发模式 特点 先写测试代码 再写功能代码
TDD是测试驱动开发(Test-Driven Development)微服务架构 saas化 soft As A serive
每个模块称为服务 服务对外提供以API的方式进行交互
集成测试的测试方法
黑盒测试与白盒测试相结合,灰盒测试
系统测试 end to end 测试 端到端的测试
测试内容: 功能 界面 可靠性 易用性 性能 兼容性 安全性等
互联网公司验收流程
测试完成 发起验收申请 给产品经理 产品经理进行验收 产品经理进行测试 测试完成 没有问题 然后产品经反馈测试没有问题给测试
按查看代码进行分类
黑盒测试 白盒测试 灰盒测试
黑盒测试:把测试的对象看成一种黑色的盒子 不清楚内部的结构 所以是功能测试的形式
百合测试:把测试的对象看成一种白色的盒子 清楚内部结构 所以是单元测试的一种形式。
灰盒测试:介于白盒测试与黑盒测试之间,它对测试的要求是:能够参与开发代码的评审,以及开发代码的检查
针对程序判断逻辑,判断分支,判断循环,程序流程走向的测试。白盒测试一种高技能的测试。对测试的技术水平要求比较高的
黑盒测试应用的一些方法
等价分类 边界值 错误推测 因果图
按测试编写代码类
手工测试:
优点:自动化测试是无法替代人的测试的行为模式的,也是无法替代探索性的测试
缺点:执效率慢,影响测试交付的效率
自动化测试
自动化测试就是通过编写代码(使用工具)的方式来替代模拟人的一种行为方式来对系统进行的一种测试。自动化测试又分为UI自动化测试,API自动化模式,性能自动化测试。一般性说的自动化测试大多数时候指的是UI自动化测试和API自动化测试
软件质量的六大特性
功能性:软件需要满足用户显式或者隐式的功能。
易用性:软件易于学习和上手使用。
可靠性:指的就是软件必须实现需求当中指明的具体功能。
效率性:类似于软件的性能。
可维护性:要求软件具有将某个功能修复之后继续使用的能力。
可可移植性:当前软件可以从一个平台移植到另一个平台上去使用的能力。
列队-- 先进先出 堆栈---先进后出
软件测试的人工检查;
1、检查算法的逻辑正确性
2、模块接口的正确性检查
3、输入参数有没有作正确性检查
4、调用其它方法接口的正确性
5、出错处理
6、保证表达式、sql语句的正确性
<、=、 >、 &&、|| 后两个是 并且 或者 逻辑
7、检查常量或全局变量使用的正确性
8、表示符定义的规范一致性
9、程序风格的一致性、规范性
10、检查程序中使用到的神秘数字是否采用了标识符定义
11、检查代码是否可以优化、算法效率是否最高
12、检查您的程序是否清晰简洁容易理解
13、检查方法内部注释是否完整
14、检查注释文档是否完整
memcatch Redis 缓存中间件
kafka 大数据中间件 RabbitMQ MQ中间件
测试术语:
冒烟测试 冒烟测试目的是确认软件基本工能正常
探索测试 探索性强调测试人员主观能动性,抛弃繁杂的测试用例计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。
回归测试:
回归测试:回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或者导致其他代码产生错误。
回归测试3个阶段
测试阶段 (旧功能测试完成 系统已有功能进行测试)
系统所有功能进行回归测试
线上环境 回归测试
都是新功能测试完成 对系统已有功能进行测试(个人理解 就是系统新功能测试完成 在重新把原先的功能进行测试 看下是否兼容)
如何做软件测试需求分析:
为什么要需求分析
软件测试需求是涉及测试用例的依据。
有助于保证测试的质量和进度
软件测试需求是衡量测试覆盖率的重要指标
需求分析个人理解3个方面
1、了解本迭代要做什么
2、本迭代功能是否影响之前的功能
3、提出疑问点
软件测试需求分析步骤
列出需求文档中的具有可测性的原始需求
对每一条需求进行细化分解 形成可测试的分层描述的测试点
对形成的每一个测试点,从软件产品的质量需求来分析,确定测试执行时需要实施的测试类型
建立测试需求跟踪矩阵,对测试需求进行管理
测试需要分析的主要目的:获取测试点,根据测试点来编写测试用例
需求文档一般包含什么:
1、业务逻辑以及流程图
2、页面交互图
3、文字描述具体的逻辑过程

浙公网安备 33010602011771号