测试开发概念-慕课网-软件测试概要

1.测试的定义

测试用于保证程序的正确性->发现程序的错误->使用人工或自动手段来运行或测量软件系统的过程,以检验是否满足需求以及发现与预期结果之间的差异;

2.五大要素&2个目标

人员,资源,技术,流程->软件质量

提高测试覆盖率,提高测试效率

3.软件分类

测试阶段

单元测试 最小的可测试单元:保证测试用例独立,一般由开发人员进行;单元测试框架Junit;依据详细设计
集成测试

在单元测试的基础上,组装成模块,子系统,系统中各部分是否达到标准,针对各个单元模块之间的接口;

Big Bang :所有都组装好

自顶向下:主程序延控制层向下集成,需要桩模块;

自底向上(最常用):最底层模块向上组装

核心系统集成(敏捷)

高频集成(敏捷)

依据概要设计;

系统测试

将经过集成测试的软件,作为系统中的一个部分,在实际运行环境下进行测试;

针对整个系统的功能和性能;

验收测试

交付测试,针对用户需求交互流程进行的测试

用户验收测试(开发方),运行验收测试(运维),合同和规范验收测试

alpha测试:开发者提供的场所和环境

beta测试:在用户环境下进行

测试手段

黑盒测试

不考虑内部逻辑;界面/功能;测试覆盖率较低,自动化复用率低;主要用于系统测试;

是否有遗漏或不正确的功能;在接口上:输入输出;是否有数据结构或是访问错误;性能测试;

主要的方法:等价类划分,边界值划分法,错误推测法,因果图法,正交实验分析法,状态图前移法,流程图法

白盒测试

逻辑单位:语句,条件,条件组合,分支(判定覆盖),路径(可能的路径);

昂贵,无法检测遗漏的路径及数据敏感的错误,无法直接验证需求正确性;

主要的方法:代码检测法,静态结构分析,静态质量度量法,逻辑覆盖法,基本路径测试法

静态测试 无须执行被测程序,互审,走查,会议;
动态测试 运行
手工测试 人工
自动化测试 测试工具
测试模式
传统瀑布型 顺序,每一个阶段的输出作为下一阶段的输入
V模型 测试阶段与研发阶段一一对应
W模型(双V模型) 加入测试设计
X模型 支持迭代
H模型 独立的测试流程
敏捷测试 不强调测试阶段,具备条件就进行测试;
预防缺陷终于发现缺陷;
探索式测试 抛开脚本;
局部探索式测试;漫游式测试法;
测试类型
功能测试:验证功能,包括功能错误或遗漏,界面问题,性能错误(软件本身),数据及访问错误,初始化及终止错误;

工具:QTP,silkTest,selenium(web 应用)


性能测试:验证系统能满足需求所要求的性能指标;

页面静态性能评估(Web应用):静态测试,Yslow, PageSpeed

    负载测试:逐步增加负载,并记录性能表现,在正常指标范围下的最大

    压力测试:在极限情况下的

    稳定性测试:稍大于正常量的持续长时间的稳定性的情况

性能指标:并发用户数,吞吐量,响应时间,设备性能

工具:LoadRunner,Jmeter,Webload


安全测试:确保其符合产品安全需求和质量标准

    渗透测试:模拟对软件系统的恶意攻击来评估系统安全性

测试工具:appscan,Webinspect,Nessus


兼容性测试:

    软件本身的兼容性:新版本对历史版本的兼容

    不同平台的兼容:多平台,浏览器内核兼容(BrowserShots)

    软件对设备的兼容性

    软件互操作的兼容性


文档测试:对用户手册等配套文档进行测试


可靠性测试:

    软件可靠性:规定时间内规定环境完成规定内容

    硬件可靠性:气候等环境因素因素的影响


易用性测试:


本地化测试:针对软件的本地化版本的针对性测试(语言,书写,时区,货币,风俗,法律法规)


部署测试:不同环境下的部署验证;


回归测试:软件功能修改后再测试确认没有引入新的错误或其他错误(关键模块,重点功能)

Monkey测试:随机操作软件测试系统健壮和稳定性

冒烟测试:用于确认代码中的更改按预期运行,不会破坏整个版本的稳定性。

AB测试:为页面提供两个版本给客户使用

猜你喜欢

转载自blog.csdn.net/u011010851/article/details/80684687