软件测试开发

                                                   软件测试开发

1.1 软件测试的行业基本介绍:

          1.1为什么需要软件测试:

                 (1)任何软件都是经历过不同开发阶段完成,最终产生的软件是有一定问题的,就需要测试人员进行测试

                    (2)当前软件行业并不是在功能为王,用户对需求更严格,软件的性能(延迟容易上手对内存的消耗)需要测试人员

                    测试的流程:

                                  (1)将所有的经理根据客户需求来编写需求文档

                                  (2)开发根据需求文档来编写代码,测试需要根据需求文档编写测试计划

                                 (3)开发人员实现代码,测试人员编写测试用例

                                 (4)编码结束之后由开发人员将代码上传测试人员需要将代码下载并实现冒烟测试冒烟测试通过后在实现全面测试(如果发现bug需要                                           将bug提交给开发人员 开发解决问题之后测试人员需要进行回归测试)

                                 (5)测试人员需要将测试报告以及测试用例整理文档方便项目版本迭代的使用

           1.2为啥选择测试:

               (1)测试需求越来越多

               (2)开发人员是来创造世界,测试人员是将世界变得更美好

         为什么不让开发人员自己做测试

                   很多测试人员本身就是开发出身

                (1)从专业角度去看.让专业的人员去做专事

                (2)从思维定势:开发永远的真谛是我的代码没问题

                (3)从测试力度:开发人员不会舍得

                (4)从客户角度:用户会有千奇百怪的想法或者是超出想象的思维

1.3软件测试的介绍:

1.3.1定义:

通过手动或者是工具进行对测试对象进行操作,从而将预期结果和实际结果进行匹配验证是否存在差异

1.3.2软件测试的作用:

(1)通过测试工作可以发现并修复软件中存在的缺陷,从而使软件的寿命增长客户使用信心增强(2)测试可以记录软件在运行过程中产生的一些数据从而          为决策提供数

(2)测试可以降低同类产品开发遇到的风险


1.4软件测试的原则:

1.测试证明软件是存在缺陷的

2. 不能执行穷尽测试

3. 缺陷存在群集现象(2:8原则 20%核心功能 )

4.测试应提早介入(从定义需求的时候就有了测试)

5.某些测试需要依赖特殊环境(操作系统浏览器不同得到手机或者手机版本)

6. 杀虫剂现象

7. 不存在缺陷谬论(开发人员说自己的代码没问题的时候你怎么办?)

1.5测试级别

软件开发都由自己的开发模型(瀑布v  vv  h)

测试人员会根据对软件的操作步骤进行测试级别分类:

1. 单元测试(UT)

在软件测试中,单元就是组成软件的最小单位(类函数组件)

2.集成测试(IT)

将多个不同的模块进行组合在一起进行验证(接口是否ok)

3. 系统测试(ST)

测试人员充当用户对软件进行测试

4. 验收测试

软件发布之后由客户实现买单

1.6系统测试分类:

1. 功能测试验证当前软件的主体功能是否ok

2. 兼容性测试验证当前软件在不同的环境下是否ok

3. 安全测试验证软件是否只有授权用户提供功能是使用

4.性能测试验证软件是否消耗其他的资源

1.7验收测试分类:

(1)α 测试-- 内测  

(2)β 测试-- 公测

(3)UAT测试   -- 正式版

1.8按测试对象来进行分类:

盒是测试的对象

1. 白盒测试

软件的底层代码

2. 黑盒测试

软件的主体功能

3. 灰盒测试

介于黑盒和白盒之间(接口测试)

1.9按测试对象是否执行分类:

静态测试

     测试不执行测试的可以有布局页面

 动态测试

     将软件运行在真实的环境中进行测

2.0按测试手段分类:

1. 手动测试

由测试人员对测试对象实现手动验证

优点:可以灵活改变测试操作以及测试环境

2. 自动化测试

(1). 脚本测试

(2) 借助第三方测试工具

2.1软件的质量:(功能靠用 效率可移)

在当前行业中基于iso的一套标准用来定义软件的质量

特性:

1. 功能性满足客户在显示或者是隐式的需求

2.易用性易学容易上手

3. 可靠性

4. 效率性

5. 可维护性

]6. 可移植性

你可能感兴趣的:(软件测试开发)