博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件测试基础知识
阅读量:5869 次
发布时间:2019-06-19

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

一、软件测试概念

什么是软件测试?百度百科上,软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

其实说直白一点,就是找bug。

二、软件测试目的

软件测试的目的,就是基于概念而言的。其目的大概分为以下几种:

1.发现软件的缺陷

2.提高软件质量

3.软件开发,测试过程改进

4.评估软件质量

5.降低公司对软件的维护成本

6.降低软件发布后,对公司负面影响的风险

三、软件测试模型

常见的软件测试模型包括V模型、W模型、H模型、X模型和前置模型。这里暂且介绍常用的V模型及W模型。

1.V模型

V模型是最具有代表意义的测试模型。V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系 。

用户需求                           验收测试          需求分析和系统设计         确认测试和系统测试              概要设计         集成测试                详细设计   单元测试                       编码

1)从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系 。

2)左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。

优点:V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。

缺点:仅仅把作为在、及编码之后的一个阶段;忽视了测试对,的验证,一直到后期的才被发现。

2.W模型

W模型由Evolutif公司公司提出,相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,明确表示出了测试与开发的并行关系。

W模型中测试与开发对应关系如下:

开发:需求分析、概要设计、  详细设计、  编码、  软件集成、系统集成、部署

     ↑    ↑       ↑     ↑      ↑    ↑   ↑
测试:需求评审、概要设计评审、详细设计评审、单元测试、集成测试、系统测试、验收测试

优点:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。

例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。

局限性:在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。

四、软件测试基本流程

根据上述的W模型,软件测试基本流程包括如下:

1.测试需求分析

2.测试计划

3.测试设计(测试策略、测试用例)

4.测试执行(手工测试、测试工具)

5.缺陷跟踪

6.回归测试

7.编写测试报告

这里要注意,一般产品有需求之后,会有需求评审会,测试会一并参加,并需要在会议上积极发言,提出自己不清楚或有疑问的需求点。这样更有利于后期测试用例的编写。

测试流程是这样,但是,还是要真正动手测试,才能更加深刻的理解软件测试流程中的每个阶段含义。

五、软件测试的基本方法

1.测试技术原理

1)黑盒测试,主要有等价类划分法、场景法等

2)灰盒测试

3)白盒测试,主要有静态测试、动态测试

4)探索性测试

2.测试策略

测试策略大概分为以下几种:

数据和数据库完整性测试、接口测试、集成测试(业务流程测试)、功能测试、用户界面测试(用户友好性测试)、性能测试、浏览器兼容性测试、负载测试、强度测试、安全性和访问控制测试、故障转移和恢复测试、配置测试、安装测试。

我们要根据测试处于开发、测试的对应阶段,分析测试需求,合理的去应用测试技术原理和测试策略。要具体情况具体分析。

六、软件测试工具

1.功能测试工具

1)WinRunner(Mercury公司)

2)Robot、XDE tester(IBM公司)

3)TestComplete

4)Ruby+watir(开源)

2.单元测试工具

1)DUnit(Delphi)

2)JTest、Junit(java)

3)NUnit(.NET)

3.性能测试工具

1)LoadRunner(Mercury公司)

2)Apache Jmeter(开源)

3)Siege(开源)

4)Robot(IBM公司)

5)eHealth

4.缺陷跟踪管理工具(开源)

1)Bugzilla

2)禅道

3)redmine

4)Bugfree

5)Mantis

5.用例管理工具

1)TestLink

2)TestManager(Rational测试解决方案中,推荐的测试用例管理工具)

3)禅道

6.自动化测试工具(app)

1)monkeyrunner

2)appium

3)Robotium

4)UI Automator

转载于:https://www.cnblogs.com/Andy520/p/6611934.html

你可能感兴趣的文章
如何实现windows命令提示符的tab补全
查看>>
Java NIO 学习笔记 缓冲区补充
查看>>
SQL Server性能优化(1)使用SET函数
查看>>
MySQL数据库中的中文乱码解决方案。
查看>>
浅谈屏蔽搜索引擎爬虫(蜘蛛)抓取/索引/收录网页的几种思路
查看>>
自动安装lamp架构的shell脚本,版本都比较新,php5.3.8
查看>>
我的友情链接
查看>>
node.js学习笔记之安装详解
查看>>
Saltstack自动化环境部署
查看>>
冒泡排序、插入排序、选择排序的简单了解
查看>>
内存不足报错
查看>>
juniper SSG防火墙与飞塔防火墙配置点到点IPSEC ***
查看>>
Linux网络分析的三大利器
查看>>
决战JavaScript服务端网游开发
查看>>
微软.NET Framework 4.7.x [32+64位]完整包,带静默安装参数!
查看>>
我的友情链接
查看>>
关于Linux静态库和动态库的分析
查看>>
H3C、CISCO、华为,telnet的配置
查看>>
PHPExcel-1.8.1导入、导出Excel表格
查看>>
P1455 搭配购买
查看>>