‘壹’ 软件测试由哪几个层次构成
题主这个问题有点难搞哦!分类有点多,不知道你讲的是那种类型的方法,索性都给你列一下,
软件测试方法一般比较常用的有等价类划分、场景法,偶尔会使用到的测试方法有边界值和判定表,不经常用的就是正交排列法和测试大纲法。
1.黑盒测试
其中等价类划分、边界值分析、判定表等属于黑盒测试方法;只对功能是否可以满足规定要求进行检查,主要用于软件的确认测试阶段。
白盒测试
白盒测试也叫做结构测试或逻辑驱动测试,是基于覆盖的全部代码和路径、条件的测试,通过测试检测产品内部性能,检验程序中的路径是否可以按照要求完成工作,但是并不对功能进行测试,主要用于软件的验证。
灰盒测试
灰盒测试则介于黑盒测试和白盒测试之间。灰盒测试除了重视输出相对于出入的正确性,也看重其内部表现。但是它不可能像白盒测试那样详细和完整。它只是简单的靠一些象征性的现象或标志来判断其内部的运行情况,因此在内部结果出现错误,但输出结果正确的情况下可以采取灰盒测试方法。因为在此情况下灰盒比白盒高效,比黑盒适用性广的优势就凸显出来了。
2. 手动测试和自动测试
3. 静态测试和动态测试
静态测试的含义是被测程序不运行,只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。
动态测试与静态测试相对应,其是通过运行被测试程序,对得到的运行结果与预期的结果进行比较分析,同时分析运行效率和健壮性能等。
4.在对软件测试又主要分类进行测试分别是
1.单元测试
2.集成测试
3.系统测试
4.验收测试
‘贰’ 软件测试分为哪四个阶段,每个阶段的主要任务和目标
编写测试计划:根据开发进度,编排测试计划,明确每个时间节点完成哪些测试任务。
编写测试用例:根据开发需求,编写测试用例,测试用例可以是文档,也可以是测试脚本。
执行测试:按测试用例执行各项测试。
测试问题总结:对测试发现的软件问题进行分析、整理,定位问题所在,给出解决办法,同时对测试用例进行完善。
‘叁’ 按照软件的不同开发阶段,可以将软件测试划分为
单元测试 集成测试 确认测试 系统测试 验收测试
‘肆’ 测试阶段划分为哪几个阶段
软件测试可分为单元测试、集成测试,系统测试和验收测试。
单元测试:针对每个单元的测试, 以确保每个模块能正常工作为目标。
集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程序结构问题。
确认(有效性)测试:是检验所开发的软件能否满足所有功能和性能需求的最后手段。有的划分方法中,也将确认测试合并入系统测试中。
系统测试:检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调工作。
验收(用户)测试:检验软件产品质量的最后一道工序。主要突出用户的作用,同时软件开发人员也应有一定程度的参与。
验收测试可以分成Alpha测试和Beta测试。
‘伍’ 按照软件测试阶段划分,软件测试分为
单元测试
单元测试又称模块测试,是针对程序的一种测试。
模块:C函数,JAVA方法
模块的基本属性:名字、明确的功能、与其他模块的关联、算法。
在实际中,很多的单元测试工作都是程序员在做。
实际意义:一开始并不把程序作为一个整体来测,而首先
集中测试最小单元,这样能尽早的发现问题,解决问题。
• 实际演示一个单元测试例子
• 演示完成后,你的技能够做单元测试吗?
集成测试
时常有这样的情况发生,每个模块都能单独工作,但是将这些
模块组装起来之后却不能正常工作。
p A程序员写了代码,这些代码的功能提供给B程序员调用,但是
由于A和B之间在方法的命名,大小写等问题上不一致,所以根
本无法让A的数据给B用。
p 也就是说,在局部上不出问题,整合起来也不出问题吗?这很
难说,因此集成测试就显得非常有必要。
集成测试又称为接口测试,是针对程序接口的一种测试。
• 接口:模块与模块之间的耦合
• 在实际中,很多的集成测试工作都是程序员在做
• 实际意义:单元测试做完后,方法已经没有问题了,局部
不出问题了,程序员之间的各个功能整合起来,集中测试,
要保证整合后的代码和代码实现的功能完全对接,没有问题。
因此集成测试就显得非常有必要
现在问题出来了,我们怎么做集成呢?
• 独立的测试完成后,组合成一个整体测, 非增量式集成
问题:容易出现混乱,因为测试时可能发现一大堆问
题,但每个故障的定位和纠正问题很难。
• 把一个待测模块组合到已经测试过的模块上去,再进行
测试,这种方式称为 增量式集成
自上向下:桩程序
自下向上:驱动程序
p 思考一个问题:清洗一台已经完全装配好的绞肉机容易,还是
清洗一台被完全拆分的绞肉机容易?
确认测试
确认测试:对照软件需求规格说明,对软件产品进行评估以
确定其是否满足需求的过程。主要是对软件需求满足程度的一
种评价和评估。
p 经过确认测试,应该得出的评价无非2种情况:
① 经过检验,软件功能、性能及其他方面的要求都已满足
软件需求规格说明的规定,是一个合格的软件
② 经过检验,发现与软件需求规格说明书有相当的偏离,
得到了一个缺陷清单,这就需要开发部分和用户进行协
调,找出解决的办法。
系统测试
什么是系统测试:
将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试。
系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。
对象不仅仅报测测试的软件,还包含软件所依赖的硬件,外设甚至包括某些数据、某些支持及接口等。
系统测试范围:功能、性能、界面、强度、容量、安全性、配置、安装、卸载、数据库等。
验收测试
验收测试:验收测试:可以类比为建筑的使用者对建筑进行的检测。
验收形式:
1.Alpha;alpha 测试是在用户组织模式软件系统的运行环境下的一种验收测试,有用户第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试。试图发现并修改错误。
2.Beta:Beta测试是用户公司组织各方面的典型终端用户在
日常工作中实际使用beta版本,并要求用户报告异常情
况,提出批评意见。
实际过程中:初验、终验
Alpha和Beta的区别
区别:两者的主要区别是测试场所不同。
p Alpha测试是指把用户请到开发方的场所来测试, Alpha测试的环
境是受开发方控制的,用户的数量相对比较少,时间比较集中。
p Beta测试是指在一个或多个用户的场所进行的测试。beta测试的环
境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数
量相对比较多,时间不集中。
p alpha测试先于beta测试执行。
p 通用的软件产品需要较大规模的beta测试,测试周期比较长。如
果产品通过了beta测试,那么就可以正式发行了。
p 一些软件开发公司把Alpha测试后发布的产品定义为:一个早期的、
不稳定的软件版本所进行的验收测试,而Beta测试看成是对一个
晚期的、更加稳定的软件版本所进行的验收测试。
‘陆’ 软件测试阶段是如何划分的
首次测试-回归测试-最后测试;单元测试-集成测试-系统测试
‘柒’ 什么是软件测试 分为哪几个阶段
软件测试生命周期包括6个阶段(大体上):1)计划 2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,和7)实施后。
1. 计划(产品定义阶段)
高层次的测试计划(包含多重测试周期)
质量保证计划(质量目标,测试标准等 )
确定计划评审的时间
报告问题过程
确定问题的分类
确定验收标准-给质量保证员和用户。
建立应用程序测试数据库
确定衡量标准,例如缺陷数量/严重程度和缺陷起源(仅举几个例子) 。
确定项目质量度量
开始制定项目整体测试时间表(时间,资源等)
必需阶段:评审产品定义文档
文档中加入质量保证标准,作为工程改善进程的一部分
根据该产品的特点帮助确定问题的范围
大约每月要花5 -1 0小时在这一方面
计划在数据库管理所有测试用例,包括手工方面或者自动化方面。
‘捌’ 软件测试中,测试大概怎会划分的
快捷标签也算是一种功能出发的交互界面,测试主要有2个方面:GUI和功能定义。
GUI方面就是看标签的设计要求,显示比例、文字大小、布局、位置、美观性、各种状态、前景背景层次等。功能定义,就是要看特定的标签是否能够出发特定的功能、打开特定的界面/页面、跳转特定的连接等。
后者实现自动化测试比较简单,而前者就会比较难,除非所有的页面和标签都是代码方式生成的,这样UI有固定规则可循,就和自动化检测外观特性了。
‘玖’ 测试计划的目的是什么软件测试应该划分几个阶段
测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
大体上来说可分为单元测试、集成测试、系统测试、验收测试。每个阶段又分为以下五个步骤:测试计划,测试设计,用例设计,执行结果,测试报告。
初始测试集中在每个模块上,保证源代码的正确性,该阶段成为单元测试,主要用白盒测试方法。
接下来是模块集成和集成以便组成完整的软件包。集成测试集中在证实和程序构成问题上。主要采用黑盒测试方法,辅之以白盒测试方法。
软件集成后,需要完成确认和系统测试。确认测试提供软件满足所有功能、性能需求的最后保证。确认测试仅仅应用黑盒测试方法。
单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。
验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。
回归测试
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。