软件测试入门
软件的生命周期
1 软件测试概念
实际输出与预期输出审核与比较的一个过程 (即成果 跟需求文档是否一致达标)
对软件进行操作 即衡量软件的质量是否满足需求设计
通俗来讲 就是配合开发人员保证产品质量满足需求设计
测试的原则 : 尽早、尽快,发现软件缺陷
理解需求---用需求去检测评估软件是否符合
职位要求 1 理解 软件测试的概念 2掌握软件测试的 方法 3理解软件测试的过程
2 测试的定位与意义
公司的组织机构
技术部(开发团队)
BOSS
|
CEO
|
CTO (技术总监)1
|
项目经理2
|
产品经理(UE)2 — UI - 开发 - 测试
(交互设计师) (UI设计师) 1 前端 后端
需求 文档 产品原型 效果图、切图 H5开发工程师(H5微信公众号/游戏开发222) web前端1 web后端2 PHP后端 2 移动端(IOS 2 Android 2)
根据实际情况定,根据主打的业务不同选择不同的人数
专业 + 业务+ 性格 = 好工作
软件测试的流程是
- 测试需求分析 (熟悉产品/项目)
- 拟定测试计划(项目经理负责) 测试计划 ---软件测试计划书(什么时候测,怎么测)
- 编写测试用例(主要职责,是能力的体现) 是为了软件测试编写的指导文档
思路:: 用什么测试方法来设计测试用例来编写测试用例的
测试用例的要素 ---前提条件--测试步骤--测试数据--预期结果
- 需求评审(分为内部和外部)
- 执行测试用例
- 预测试 (搭建测试环境包括硬软件环境,网络以及数据)
- 第一轮测试 (发现bug,提价bug)
- 第二轮回归测试 对修复的设计或者代码进行测试,确保没有问题,
- 第三轮测试 (验收测试)
- 测试报告(管理缺陷)(人物、时间(项目测试周期)、地点(测试环境) 事件(测了什么功能) 、结局(有多少Bug,通过不通过)
为什么会出现软件缺陷?
需求变化、设计错误、软件复杂、开发工具、时间压力、缺乏沟通、文档缺乏
缺陷管理 -- 要发现缺陷,提交缺陷报告--追踪缺陷状态,直至缺陷解决
- 测试总结(由项目组长带头)--系统评估:判断当前系统的状态是否可以进行下一阶段,总结归纳
Android项目开发流程
1,分析需求
2,制定开发周期
3,版本控制工具(git/svn,保证项目安全)
4,技术选型(项目大小,周期等决定)
5,搭框架(UI框架;开发模式:MVC,MVP,MVVM;公共类的抽取)
6,分模块驱动式开发(有可能是独立开发)
7,提测(签名打包apk)
8,优化(混淆,内存优化)上线
补充 :
常见的开发模块有 :
敏捷式 快
敏捷就是“快”。快才可以适应目前社会的快节奏,要快就要发挥个人的个性思维多一些个性思维的增多。 产品、UI、后台、前端、保持同步进行
瀑布式 公司团队尚未健全,传统的开发模式,
1、强调文档
前一个阶段的输出就是下一个阶段的输入,文档是个阶段衔接的唯一信息。所以很多开发人员好象是在开发文档,而不是开发软件,因为要到开发的后期才可以看到软件的“模样”。
2、没有迭代与反馈。瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应。瀑布就意味着没有回头路。
3、管理人员喜欢瀑布模型的原因是把文档理解为开发的速度,可以方便地界定不同阶段的里程碑。
驱动式
软件测试的对象
软件和程序的区别
软件= 程序 + 数据 + 文档 程序 是一段可执行的代码集合
软件测试的目的
发现并减少软件中存在的缺陷,使其达到质量要求
软件测试的原则
软件测试以满足用户和客户需求为依据
软件测试是尽可能多的发现和减少缺陷,但不能消除所有缺陷
软件测试要与开发人员相互配合共同完成
1)尽早和不断测试;
2)从小规模到大规模;
3)时刻关注用户的需求;
4)设计测试用例时考虑各种情况;
5)程序员避免检查自己的程序;
6)充分注意测试中的群集现象;
7)严格执行测试计划并及时响应变更;
8)应该对每一个测试结果做全面的检查;
9)妥善保存一切测试文档;
10)完全测试是不可能的,测试需要终止;
11)注意回归测试的关联性。
优秀测试人员的素质
沟通能力
技术能力 (专业)
自信心
耐心
细心
按照技术条件划分
黑盒测试 功能测试 又称为数据驱动是基于软件需求的测试,通过该测试可以知道软件是否满足用户的预期结果
白盒测试 又称为结构测试,逻辑驱动测试,或基于软件本身的测试 是对软件所有的逻辑路径进行测试适用于单元测试、集成测试
灰盒测试 介于白盒和黑盒之间 ,它不仅关注输入输出是否正确,同时也关注软件的内部 多用于集成测试
、、、
软件测试模型
每日高频面试题
你想做软件测试工程师的原因是什么?
可以从软件测试的目的和对象的角度出发
你对软件测试的理解?
软件的生命周期
1 软件测试概念
实际输出与预期输出审核与比较的一个过程 (即成果 跟需求文档是否一致达标)
对软件进行操作 即衡量软件的质量是否满足需求设计
通俗来讲 就是配合开发人员保证产品质量满足需求设计
测试的原则 : 尽早、尽快,发现软件缺陷
理解需求---用需求去检测评估软件是否符合
职位要求 1 理解 软件测试的概念 2掌握软件测试的 方法 3理解软件测试的过程
2 测试的定位与意义
公司的组织机构
技术部(开发团队)
BOSS
|
CEO
|
CTO (技术总监)1
|
项目经理2
|
产品经理(UE)2 — UI - 开发 - 测试
(交互设计师) (UI设计师) 1 前端 后端
需求 文档 产品原型 效果图、切图 H5开发工程师(H5微信公众号/游戏开发222) web前端1 web后端2 PHP后端 2 移动端(IOS 2 Android 2)
根据实际情况定,根据主打的业务不同选择不同的人数
专业 + 业务+ 性格 = 好工作
软件测试的流程是
- 测试需求分析 (熟悉产品/项目)
- 拟定测试计划(项目经理负责) 测试计划 ---软件测试计划书(什么时候测,怎么测)
- 编写测试用例(主要职责,是能力的体现) 是为了软件测试编写的指导文档
思路:: 用什么测试方法来设计测试用例来编写测试用例的
测试用例的要素 ---前提条件--测试步骤--测试数据--预期结果
- 需求评审(分为内部和外部)
- 执行测试用例
- 预测试 (搭建测试环境包括硬软件环境,网络以及数据)
- 第一轮测试 (发现bug,提价bug)
- 第二轮回归测试 对修复的设计或者代码进行测试,确保没有问题,
- 第三轮测试 (验收测试)
- 测试报告(管理缺陷)(人物、时间(项目测试周期)、地点(测试环境) 事件(测了什么功能) 、结局(有多少Bug,通过不通过)
为什么会出现软件缺陷?
需求变化、设计错误、软件复杂、开发工具、时间压力、缺乏沟通、文档缺乏
缺陷管理 -- 要发现缺陷,提交缺陷报告--追踪缺陷状态,直至缺陷解决
- 测试总结(由项目组长带头)--系统评估:判断当前系统的状态是否可以进行下一阶段,总结归纳
Android项目开发流程
1,分析需求
2,制定开发周期
3,版本控制工具(git/svn,保证项目安全)
4,技术选型(项目大小,周期等决定)
5,搭框架(UI框架;开发模式:MVC,MVP,MVVM;公共类的抽取)
6,分模块驱动式开发(有可能是独立开发)
7,提测(签名打包apk)
8,优化(混淆,内存优化)上线
补充 :
常见的开发模块有 :
敏捷式 快
敏捷就是“快”。快才可以适应目前社会的快节奏,要快就要发挥个人的个性思维多一些个性思维的增多。 产品、UI、后台、前端、保持同步进行
瀑布式 公司团队尚未健全,传统的开发模式,
1、强调文档
前一个阶段的输出就是下一个阶段的输入,文档是个阶段衔接的唯一信息。所以很多开发人员好象是在开发文档,而不是开发软件,因为要到开发的后期才可以看到软件的“模样”。
2、没有迭代与反馈。瀑布模型对反馈没有涉及,所以对变化的客户需求非常不容易适应。瀑布就意味着没有回头路。
3、管理人员喜欢瀑布模型的原因是把文档理解为开发的速度,可以方便地界定不同阶段的里程碑。
驱动式
软件测试的对象
软件和程序的区别
软件= 程序 + 数据 + 文档 程序 是一段可执行的代码集合
软件测试的目的
发现并减少软件中存在的缺陷,使其达到质量要求
软件测试的原则
软件测试以满足用户和客户需求为依据
软件测试是尽可能多的发现和减少缺陷,但不能消除所有缺陷
软件测试要与开发人员相互配合共同完成
1)尽早和不断测试;
2)从小规模到大规模;
3)时刻关注用户的需求;
4)设计测试用例时考虑各种情况;
5)程序员避免检查自己的程序;
6)充分注意测试中的群集现象;
7)严格执行测试计划并及时响应变更;
8)应该对每一个测试结果做全面的检查;
9)妥善保存一切测试文档;
10)完全测试是不可能的,测试需要终止;
11)注意回归测试的关联性。
优秀测试人员的素质
沟通能力
技术能力 (专业)
自信心
耐心
细心
按照技术条件划分
黑盒测试 功能测试 又称为数据驱动是基于软件需求的测试,通过该测试可以知道软件是否满足用户的预期结果
白盒测试 又称为结构测试,逻辑驱动测试,或基于软件本身的测试 是对软件所有的逻辑路径进行测试适用于单元测试、集成测试
灰盒测试 介于白盒和黑盒之间 ,它不仅关注输入输出是否正确,同时也关注软件的内部 多用于集成测试
、、、
软件测试模型
每日高频面试题
你想做软件测试工程师的原因是什么?
可以从软件测试的目的和对象的角度出发
你对软件测试的理解?