软件的生命周期
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)注意回归测试的关联性。
优秀测试人员的素质
沟通能力
技术能力 (专业)
自信心
耐心
细心
![](https://i-blog.csdnimg.cn/blog_migrate/0f838722423d6058b514f4cee9d8b913.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/bd30398f07bab24dabd41defc0d6002d.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/40411a66de12b7f4275551144c009580.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/f6a056cbe1745b403603be3e0e1c8ddc.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/c2ae7031653ae653e2cb978ef34cd005.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/922c1fd2f85389413e0ba29cca8c53aa.jpeg)
按照技术条件划分
黑盒测试 功能测试 又称为数据驱动是基于软件需求的测试,通过该测试可以知道软件是否满足用户的预期结果
白盒测试 又称为结构测试,逻辑驱动测试,或基于软件本身的测试 是对软件所有的逻辑路径进行测试
适用于单元测试、集成测试
灰盒测试 介于白盒和黑盒之间 ,它不仅关注输入输出是否正确,同时也关注软件的内部 多用于集成测试
![](https://i-blog.csdnimg.cn/blog_migrate/2669900e4aa857aa7c8e2bca7eb23f6f.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/a58a4b7fd80d501197f43351bd9334fc.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/82dfe57eae2bc627a2e0cbf20436ad16.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/e6f80302e5820a2bcb8b6397a436614f.jpeg)
、、、
![](https://i-blog.csdnimg.cn/blog_migrate/ccb40834a5b1f20607fbe80d5d446cd2.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/b2c9e9819f8e8fa0fd60d6977c537381.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/e7f604faa4b6abf1b43924e53dfd8627.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/5e09fda87b22e02fbc1bbce00b8abce9.jpeg)
软件测试模型
![](https://i-blog.csdnimg.cn/blog_migrate/9fe27d91ce1a883df80806e59392051f.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/07e25bbb3beaee47c8c21484d76f67bb.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/202e2e6e145266f0f6fa73aa9f4cc598.jpeg)
每日高频面试题
你想做软件测试工程师的原因是什么?
可以从软件测试的目的和对象的角度出发
你对软件测试的理解?
软件的生命周期
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)注意回归测试的关联性。
优秀测试人员的素质
沟通能力
技术能力 (专业)
自信心
耐心
细心
![](https://i-blog.csdnimg.cn/blog_migrate/0f838722423d6058b514f4cee9d8b913.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/bd30398f07bab24dabd41defc0d6002d.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/40411a66de12b7f4275551144c009580.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/f6a056cbe1745b403603be3e0e1c8ddc.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/c2ae7031653ae653e2cb978ef34cd005.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/922c1fd2f85389413e0ba29cca8c53aa.jpeg)
按照技术条件划分
黑盒测试 功能测试 又称为数据驱动是基于软件需求的测试,通过该测试可以知道软件是否满足用户的预期结果
白盒测试 又称为结构测试,逻辑驱动测试,或基于软件本身的测试 是对软件所有的逻辑路径进行测试
适用于单元测试、集成测试
灰盒测试 介于白盒和黑盒之间 ,它不仅关注输入输出是否正确,同时也关注软件的内部 多用于集成测试
![](https://i-blog.csdnimg.cn/blog_migrate/2669900e4aa857aa7c8e2bca7eb23f6f.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/a58a4b7fd80d501197f43351bd9334fc.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/82dfe57eae2bc627a2e0cbf20436ad16.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/e6f80302e5820a2bcb8b6397a436614f.jpeg)
、、、
![](https://i-blog.csdnimg.cn/blog_migrate/ccb40834a5b1f20607fbe80d5d446cd2.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/b2c9e9819f8e8fa0fd60d6977c537381.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/e7f604faa4b6abf1b43924e53dfd8627.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/5e09fda87b22e02fbc1bbce00b8abce9.jpeg)
软件测试模型
![](https://i-blog.csdnimg.cn/blog_migrate/9fe27d91ce1a883df80806e59392051f.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/07e25bbb3beaee47c8c21484d76f67bb.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/202e2e6e145266f0f6fa73aa9f4cc598.jpeg)
每日高频面试题
你想做软件测试工程师的原因是什么?
可以从软件测试的目的和对象的角度出发
你对软件测试的理解?