博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试理论(一)
阅读量:5153 次
发布时间:2019-06-13

本文共 1217 字,大约阅读时间需要 4 分钟。

  • 软件测试目的

1)确保软件质量

2)减少质量问题给企业及用户带来隐患

  • 测试分类

1)安装测试

2)构建测试

3)白盒测试

4)黑盒测试

5)性能测试

6)迁移测试

……

  • 单元测试

1、定义:开发人员针对程序模块(软件设计的最小单位)来进行正确性检验的测试;

2、单元测试是和开发最接近的一种测试;

3、单元测试是粒度最小的软件测试

  • 过程化编程:单个程序、函数、过程
  • 对象化编程:方法、基类、抽象类、派生类

4、子系统只有通过单元测试之后才能集成到大系统中

白盒测试

定义:指测试人员可直接访问内部数据结果、算法及其代码实现的测试

常见的方法:

  • 接口测试
  • 代码覆盖率测试
  • 缺陷注入测试方法

“单元测试”和“白盒测试”区别

1、测试目的不同

“白盒测试”是测试程序的整体逻辑

“单元测试”是测试程序中一个独立的模块

2、执行人员不同

“白盒测试”一般是由专门的白盒测试人员完成

“单元测试”一般是由程序员自己完成

功能测试(黑盒测试)

1、定义:通过黑盒模式发现代码集成后存在的功能问题的测试(关注的重点是系统的功能;可以自动或手动执行测试用例)

2、与“单元测试”的区别:粒度不同

3、单元测试关注的是最小代码片段

4、功能测试关注的是一个完整的业务功能

性能测试

1、关注重点:验证软件的非功能性需求的测试

2、相应测试项:吞吐率、稳定性、可靠性

3、主要手段:通过自动化的方法模拟真实用户并发访问的场景

4、最终目的:1、验证系统的性能指标或发现其性能瓶颈;2、从根本上保证用户体验和长远利益

手工测试特点

优点:

  • 方便灵活
  • 首次投入成本低
  • 人员素质要求低

缺点:

  • 效率低
  • 重复开销大
  • 难以模拟复杂的使用场景,如:并发或连续事务

自动化测试特点

优点:

  • 效率高,提供很强的生产力
  • 重复活动开销小
  • 基本可以模拟任何复杂的使用场景
  • 弱化了软件测试人员个体差异的影响

缺点:

  • 首次投入成本高
  • 变更成本大
  • 人员素质要求高

自动化 vs 手动测试

  • 形成良好互补,2/8原则
  • 创造性的工作交付人来做,重复性工作交付机器来做
  • 大项目适合自动化测试,小项目适合手工测试

针对小规模项目分析:

  • 小规模测试基本上手动和自动都可以适用
  • 在很小规模的时候,手工在成本上有很大的优势
  • 随着回归次数增加,手工成本基本线性增加,自动化则成本趋于稳定

大规模项目分析:

  • 软件项目随着规模增大,很容易产生滚雪球效应
  • 手工测试很快遇到天花板,无论是成本还是可操作性都会出现障碍,投入成本增幅远高于开发成本增幅
  • 自动化将成为主流,基本成本的增长和开发的成本投入幅度相当

note:自动化脚本的开发工作并不是越早越好,而是应该基于稳定的测试环境和测试计划。

参考借鉴原地址:http://www.cnblogs.com/beer/p/4805146.html

 

转载于:https://www.cnblogs.com/sunshine-blog/p/8243186.html

你可能感兴趣的文章
Hdu - 1002 - A + B Problem II
查看>>
Android设置Gmail邮箱
查看>>
js编写时间选择框
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>
Attributes.Add用途与用法
查看>>
L2-001 紧急救援 (dijkstra+dfs回溯路径)
查看>>
javascript 无限分类
查看>>
spring IOC装配Bean(注解方式)
查看>>
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
查看>>
SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
查看>>
kubernetes_book
查看>>
OpenFire 的安装和配置
查看>>
侧边栏广告和回到顶部
查看>>