了解以下两个test
Smoke Test
-
冒烟测试属于HLT(highleveltest)测试,HLT通常指SDV(系统设计验证)/SIT(系统集成测试)/SVT(系统验证测试)等测试活动。HLT是站在系统的角度对整个版本进行测试,测试对象是一个完整的产品而不是产品内部的模块,常见的HLT测试包括系统测试和验收测试。冒烟测试可以手动执行,也可以自动化执行。稳定的系统适合自动化冒烟测试,集成过程中的系统适合手工冒烟测试,因为冒烟测试内容在动态变化,变化中的自动化脚本维护工作量比较大。Smoke Test 也称为冒烟测试,隶属于自由测试,计算机行业。这一术语源自硬件行业。对一个硬件或硬件组件进行更改或修复后,直接给设备加电。如果没有冒烟,则该组件就通过了测试。在软件中,“冒烟测试”这一术语描述的是在将代码更改嵌入到产品的源树中之前对这些更改进行验证的过程。在检查了代码后,冒烟测试是确定和修复软件缺陷的最经济有效的方法。冒烟测试设计用于确认代码中的更改会按预期运行,且不会破坏整个版本的稳定性。
分类:
冒烟测试的对象是每一个新编译的需要正式测试的软件版本。通过冒烟测试,在软件代码正式编译并交付测试之前,先尽量消除其表面的错误,减少后期测试的负担。冒烟测试的执行者是版本编译人员。因此可以说,冒烟测试是预测试。在实际的软件测试工作中,冒烟测试在软件研发的不同阶段有所不同。大体可以分为三类:
1)形成集成测试版本以前:验证各个单元能够成功执行,并保证测试版本能够顺利集成;
2)形成集成测试版本:以保证新的或者更改过的代码不破坏集成版本的完成性和稳定性;
3)后期预测试缺陷的修正:针对每个缺陷所做的缺陷修正都要先在干净的链接环境中进行冒烟测试,测试通过后才能更新相关软件版本。*
Ad hoc Test
-
And hoc Test 也称为随机测试,在软件测试中除了根据测试用例和测试说明书进行功能测试外,还需要进行随机测试(Ad-hoc testing),随机测试是没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行测试用例的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
-
一、作随机测试之前的一些前提条件。
1)熟悉产品的各项功能和产品的逻辑结果。
2)熟悉测试用例。
3)完整的执行过测试用例。
4)熟悉在用例测试阶段所发现的缺陷和缺陷的分布情况。
5)测试人员具备一定的测试经验,对缺陷有敏锐的洞察力。
二、随机测试功能点的选取。
1)根据用例测试阶段对产品的了解选取缺陷比较密集的功能模块。
在发现很多缺陷的地方,一定可以发现更多的缺陷。我们在做随机测试的时候,首先会先统计一下,之前哪些模块被发现的缺陷最多,那么接下来一定要重点的在那个模块里发掘一下缺陷。
2)根据发现的一次性缺陷或重现率比较低的缺陷涉及的功能点选取随即测试功能点。
缺陷产生的过程一定可以重现,重现率比较低的缺陷是隐藏比较深的缺陷,这些缺陷可能正是导致软件无法上线的原因。因此重现这些隐藏缺陷是十分重要的工作。
3)与开发人员沟通了解软件的缺陷。
首先可以了解到程序本身哪些地方最复杂,最薄弱,这些地方最容易发生什么错误,其次可以了解程序员最容易在哪些地方犯哪些错误。前者通过对程序的熟悉可以比较好的掌握,后者可以通过对缺陷的分析得到。
4)根据经验选取功能点。积累了一定的测试经验以后,有时测试就是一种感觉。
5)随机选取功能点。经过上述四种情况对功能点进行筛选后,剩下的功能点可以随机的选取。随机选取功能点只是在随机测试中选取功能点的一个方面,更多的时候还是要有针对行的选取功能点。
三、功能点的随机测试
1)以测试用例为基础。
首先要明确随机测试是对功能点进行随机测试而不是随机测试功能点。因此每一个功能点都是测试对象,依照测试用例可以有效地覆盖所有的功能点。
2)考虑操作前的状态
3)操作过程中的状态改变
4)考虑到其他功能对该功能点的影响
5)考虑该功能点直接对其他功能点的影响
6)考虑该功能点间接对其他功能点的影响
7)操作步骤地追踪。