什么是软件测试?
软件测试和调试的区别?
- 目的不同
- 调试是开发人员查看自己写的代码是否实现自己想让代码实现的功能
- 软件测试是测试人员查看软件是否实现用户的需求
- 角色不同
- 软件测试:黑盒测试工程师,白盒测试工程师,开发人员
- 软件调试:开发人员
- 阶段不同
- 软件调试:开发阶段
- 软件测试:整个软件开发的生命周期
软件开发的生命周期
你为什么选择软件测试这个职业?
你学习了软件开发方面的知识,为什么选择软件测试?
软件开发的过程
什么是BUG?
- 当软件需求规格说明存在并且合理,软件功能和软件需求不相符,就说明软件错误
什么是测试用例?
- 测试环境
- 测试步骤
- 测试数据
- 预期结果
- 标题
- 重要性
- 功能模块
- 优先级
- 执行方式
设计测试用例的模块
- 功能
- 界面
- 易用性
- 兼容性
- 性能
- 安全性
- 震动测试
开发模型
- 敏捷开发:轻文档,轻流程,重目标,重产出(周期短,团队人员少,交付高质量可用的软件)
- 角色:
- PO,客户的代表方,整理客户需求,形成user story
- SM,项目经理,管理整个开发流程,保证敏捷开发流程的顺利实施
- ST,研发团队,各种技能人员组成,开发,测试,目标高质量可用的软件
- 流程:
- 产品发布会议
- 迭代计划会议
- 每日站会
- 产品演示会议
- 回顾会议
测试模型
- V模型
- 用户需求
- 需求分析与系统
- 概要设计
- 详细设计
- 编码
- 单元测试
- 集成测试
- 系统测试
- 验收测试
- W模型
- 用户需求 验收测试准备
- 需求分析与系统设计 系统测试准备
- 概要设计 集成测试准备
- 详细设计 单元测试准备
- 编码 单元测试
- 集成 集成测试
- 实施 系统测试
- 交付 验收测试
软件测试的生命周期(软件测试的流程是什么)
-
需求分析 验证需求的合理性,分析需求,细化需求 -
测试计划 需要的人员,时间,测试目的,测试范围 -
测试设计/开发 根据需求提炼出来的功能点开发测试用例 -
测试执行 执行测试用例,BUG,提BUG,回归测试 -
测试评估 评估本次测试情况,BUG情况(遗留的BUG)测试用例执行情况
如何描述一个BUG(禅道)
BUG的级别
当开发人员因为一个BUG和测试人员产生冲突时怎么办?
- 先检查自己的描述是否有误
- 站在用户的角度劝说开发
- BUG的定级要有理有据
- 开三方会议(产品经理、测试人员、开发人员一起讨论BUG解决方案)
- 不断提高自己的业务水平和技术能力
具体设计用例的方法
-
等价类:把输入划分若干个等价类,任意取出一个,若可以通过测试用例,则这个测试用例代表的等价类测试用例通过(适用于用例无法穷举,不能一一进行测试)
-
边界值:针对输入和输出的边界进行测试用例的设计 -
因果图法:输入很多,且有不同的输入嘴和对应不同的输出,这时使用因果图法分析不同输入组合和输出之间的对应关系
-
场景设计法
-
错误猜测法
- 根据测试人员的直觉、知识、经验、判断软件的哪一块有问题,专门针对性的设计测试用例。适合作为一种补充设计测试用例的方法。
-
正交法
按照开发阶段划分
- 单元测试(模块)
- 集成测试(接口)
- 系统测试(相当于黑盒测试)
- 对功能,性能,易用性,安全性,兼容性,可靠性,可移植性等
- 回归测试:属于系统测试,当系统引入新代码的时候,进行回归测试
- 回归测试的策略:自动化测试
- 冒烟测试:对系统主要功能和核心流程进行测试
- 验收测试
按照实施组织区分
按照是否运行划分
什么是黑盒测试和白盒测试?
|