软件测试基础知识
| ||||||||||||||||||||||||||||||||
一
.从测试设计的方法来看,我们知道有两类方法:
Black box (
黑箱
)
White box (
白箱
)
二
.
功能测试
在下表所列的测试中,测试的范围有小到大,测试者也由内到外,
从程序开发人员(单元测试)到
测试人员,到一般用户(
Alpha/Beta
测试)。
三
.
非功能测试
四
.
Ad hoc Test, Exploratory Test
“探索式”的测试
“
ad hoc
”测试的测试流程是不可重复的,因为它的测试都是“特定”测试,没法重复。由于这一原因,“
ad hoc
”测试不能自动化,就这一点而言,还达不到
CMM
的第二级
–
可重复级。
(Ad-hoc 不是缩写, 是“不确定的”意思,
ad
是拉丁语,相当于英文中的
“to”
hoc 也是拉丁语,相当于 “this” ad hoc 表示 “ 特别的,专门的,专为某一事而做的 ” ,即可作形容词也可作副词。 ad hoc, 一般是 “ 特别的 , 不同于一般的,非正式的 ” 意思。 )
五
.Regression Test回归测试
Regress的英语定义是:return to a worse or less developed state. 是倒退,退化,退步的意思。
在软件工程中,如果一个模块或功能以前是正常工作的,但是在一个新的构建中出了问题,那这个模块就出现了一个
“退步”- regression, 从正常工作的稳定状态退化到不正常工作的不稳定状态。
在一个模块的功能逐步完成的同时,和此功能有关的测试用例也同样在完善中。
一旦有关的测试用例通过,我们就得到此模块的功能基准(
baseline)
.
在某某版本,某某模块的某某测试用例是通过的!
如果测试人员发现了在新的构建版本某个测试用例失败了,这就是一个“倒退”,在新版本上运行所有已通过的测试用例以验证没有“退化”情况发生,这个过程就是一个“regression test”.
如果这样的“倒退”是由于模块的功能发生了正常变化(由于设计变更的原因),那么测试用例的基准就要修改,以和新的功能保持一致。
针对一个bug fixed,我们也要作Regression Test,
a) 验证新的代码的确把缺陷改正了,
b) 同时要验证新的代码没有把模块的现有功能破坏,没有regression。
所以我不也知道“回归测试”是如何的“回归”,我们可以理解为“回归到以前不正常的状态”。
回归测试最好要自动化
,因为对于每一个构建都要运行所有回归测试,以保证尽早发现问题。
就是“退化测试吗”?
六
.
Scenario/integration/System Test 场景/集成/系统测试
在软件开发的一定阶段,我们要对一个软件进行全面和系统的测试,以保证软件的各个模块都能共同工作,在各方面都能满足用户的要求。
七
.Performance Test 效能测试
用户使用软件,不光是希望软件能够提供一定的服务,而且还要求服务的质量要达到一定的水平,软件的效能,
是这些
“非功能需求”,或者说
“服务质量需求”的一部分。
八
.Stress Test压力测试
压力测试严格地说不属于效能测试。压力测试要验证的问题是:
软件在超过设计负载的情况在仍能够返回正常结果,而没有产生严重的副作用或崩溃。
九
.Alpha Test, Beta Test
在开发软件的过程中,开发团队希望让用户直接接触到最新版本的软件,以便从用户那里收集反馈,这时开发团队会在开发过程中让
特定的用户(
alpha/beta用户)使用正处于开发过程中的版本
,用户会用特定的反馈渠道(
email, BBS)与开发者讨论使用中发现的问题。
|
[Ref]软件测试基础知识
最新推荐文章于 2025-06-10 11:37:49 发布