软件测试的基本概念
-
软件测试的基本概念
一:什么是软件测试
.
.............................................
..................................................
.......
1
二:什么是软件质量
.
.............................................
..................................................
.......
2
三:软件测试与软件质量的区别
.<
/p>
........................................
..........................................
2
四:软件测试的内容
.
.............................................
..................................................
.......
2
五:软件测试的目的
.
.............................................
..................................................
.......
2
六:软件测试的分类(面试问题)
.
.......................................
.......................................
2
七:黑盒,白盒,灰盒测试概念
.<
/p>
........................................
..........................................
2
八:软件测试模型(面试常问到的问题)
.
....................................
..............................
3
V
模型
.<
/p>
........................................
..................................................
....................................
3
W
模型
.<
/p>
........................................
..................................................
...................................
3
H
模型
.<
/p>
........................................
..................................................
....................................
4
X
模型
.<
/p>
........................................
..................................................
....................................
5
九:软件测试生命周期:
.
...........................................
..................................................
.
5
白盒测试方法
.
................................................ .................................................. ........................
5
白盒测试具体实施办法
.
............................................ .................................................. ............
6
1
:代码检查
.
.....................................
..................................................
.............................
6
2
:代码走查:
.
....................................
..................................................
..........................
7
3
:同行评分:
.
....................................
..................................................
..........................
7
4
:覆盖测试:
.
....................................
..................................................
..........................
7
黑盒测试具体实施办法
.
............................................ .................................................. ............
7
等价类划分法:
.
< br>............................................... .................................................. .............
8
边界值分析法:
.
< br>............................................... .................................................. .............
8
因果图法:
.
.................................................
..................................................
...................
9
错误推测法:
.
................................................ .................................................. ..............
1
0
场景分析法:
.
................................................ .................................................. ..............
11
黑盒测试的优缺点
.
..............................................
..................................................
................
11
一:什么是软件测试
软件测试,目前定义混杂,没有统
一的标准,但是最经典的定义是:在规定的条件下对
程序进行操作,以发现错误,对软件
质量进行评估的一个过程。
二:什么是软件质量
软件质量包括:内部质量,外部质
量,使用质量。软件质量:软件满足规定或潜在用户
需求的能力。
三:软件测试与软件质量的区别
质量保证(
QA
)
:主要工作是通过预防,检查与改进来保证软件质量。
它所关注的是软
件质量的检查与测量。
着眼软件开发活动中的过
程,
步骤及产物,
而不是对软件进行剖析进
而找出问题。
软件测试:
测试关心的不是过程的活
动,
而是对过程的产物以及开发出的软件进行剖析。
测试人员要
“执行”软件,对过程中的产物
—
开发文档和源代码进行走查,
运行,以找出问
题,
报告质量。
测试人
员也必须假设软件存在问题,
所以所做的操作都是为了找出更多的问
题,而不仅仅验证每一件事是正确的。
四:软件测试的内容
根据测
试定义,
测试贯穿于整个软件生命周期中。
在开发的不同阶段,
需要测试不同的
内容。包括文档,源代码,数据等。
五:软件测试的目的
测试的
目的,
是想以最少的人力,
物力和时间找出软件中潜在的各种错
误与缺陷,
通过
修正各种错误和缺陷提高软件质量,
回避软件发布后由于潜在的软件缺陷和错误造成的隐患
以及带来的商业风险
。
(注意这个问题的答案,经常会与软件测试的定义混淆)
六:软件测试的分类(面试问题)
按开发阶段来分:单元测试,集成测试,系统测试,验收测试。
按测试的实施单位来分:开发方测试,用户测试,第三方测试。
按测试技术:白盒测试,黑盒测试,灰盒测试。
七:黑盒,白盒,灰盒测试概念
白盒测
试:
知道产品内部工作过程,
可通过测试来检测产品内部是否按
照规格说明书的
规定正常进行,
按照程序内部的结构测试程序,
检验程序中的每条通路是否都能够按照预定
要求正确工作,
p>
而不管产品的性能。
它包括两种测试方法:静态测试和动态测试。<
/p>
静态测试
时不通过执行程序而进行测试的技术,
< br>其关键功能是检查软件的表示和描述是否一致,
没有
冲突
或者产生歧义。
而动态测试需要软件的执行,
当软件系统在模拟
的或真实的环境中执行
之前,之中,之后,对软件系统行为的分析是动态测试的主要特点
。
黑盒测试:
是一种非常重要的测试策
略,
又称为功能测试。使用这种测试方法,将程序
视为一个黑盒
子。
测试目标与程序内部机制和结构完全无关,
而是将重点集中
放在发现程序
不按其规范正常运行的环境条件。
p>
灰盒测试:
结合了白盒与黑盒的要素。
关注
输出对于输入的正确性,
同时也关注内部表
现,但不像白盒那样
详细,完整,只是表征性的。
八:软件测试模型(面试常问到的问题)
V
模型
用户需求
验收测试
需求分析与系统设计
确认测试与系统测试
概要设计
集成测试
详细设计
单元测试
编码
从这
个图,
可以直观的观察到测试过程的局限性,
它把测试过程放在
了需求分析,
概要设计,
详细设计与编码之后了,
容易使人理解测试是软件开发的最后一个阶段,
主要针对程序进行
测试寻找错误了。而需求分析阶段隐藏的问题只能在最后才能发现。所以,
这个图形,
不能
很好的反应软件测试贯穿整个开发的过程。
p>
(笔者个人认为这种图形,比较适合黑盒测试)
W
模型
在<
/p>
V
模型的基础上,演化出
W
模型。
用户需求
用户需求
&
验收测试设计
需求分析与系统设计
&
验收测试设计
交付
验收测试
需求分析与系统设计
实施
确认测试与系统测试
概要设计
概要设计
< br>&
集成测试设计
集成
集成测试
详细设计
详细设计
< br>&
单元测试设计
单元测试
编码
根据图形,很容易看出,
W
模型比
V
模型更科学,它伴随着整个开发过程,
而且测试对象
不仅仅是程序,同时也测试需求与设计。
H
模型
测试准备
测试就绪点
测试执行
测试流程
其它流程
H
模型:测试条件只要成熟,测试准备活动完成了,那么就可以执行测试活动。在
H
模型
中,测试模型是一个独立的过程,贯穿
于整个产品周期,
与其他流程并发的进行。
当某个测
试时间点就绪时,软件测试即从测试准备阶段进入测试执行阶段。
X
程序片段
1
测试设计
工具配置
执行测试
编码完成
执行测试
工具配置
测试设计
程序片段
n
模
封板
型
执行测试
测试设计
工具配置
集成
1
……
n
探索性测试
执行测试
九:软件测试生命周期:
软件测
试
生命周期一般包括
7
个阶段:
1
)计划
2
)分析,
3
)设计,
4
)构建,
5
)测
试周期,
6
)最后
测试
和实施,
7
)实施后。
白盒测试方法
白盒测试方法包括动态和静态。
静态
包括:代码检查,静态结构分析,代码质量度量等。代码检查又包括:代码走查,桌
面检
查,代码审查。
代码走查与检查都要求一个小组的人员来阅读
或直观检查特定的程序。经常采用头脑风暴
.
注意一点:头脑风暴,是测试,非调试。
头脑风暴的程序:
1
:准备阶段
确立问题,提前一周通知给参加人员,一遍又独立思考的时间。
2
:头脑风暴
主持人简明介绍讨论问题的内容,
扼要介绍各种系统的设想和方案,
然后激发参加者踊跃