一、测试方法:
(1)白盒测试:针对源代码和程序结构所做的测试
(2)黑盒测试:只关系输入和输出,将系统作为黑匣子进行测试
(3)灰盒测试:介于白盒测试和黑盒测试之间的测试,关注输出对于输入的正确性,同时也关注内部表现
(4)静态测试:是指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程
(5)动态测试:是指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程
(6)单元测试:是指对软件中的最小可测试单元进行检查和验证
(7)集成测试:是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部门
(8)系统测试:指的是将整个软件系统看做一个整体进行测试,包括对功能、性能,以及软件所运行的软硬件环境进行测试
(9)验收测试:指的是在系统测试的后期,以用户测试为主,或有测试人员等质量保障人员共同参与的测试,它也是软件正式交给用户使用的最后一道工序,验收测试又分为a测试和beta测试,其中a测试指的是由用户、 测试人员、开发人员等共同参与的内部测试,而beta测试指的是内测后的公测,即完全交给最终用户测试
(10)功能测试:是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求
(11)易用性测试:指从软件使用的合理性和方便性等角度对软件系统进行检查,来发现软件中不方便用户使用的地方
(12)兼容性测试:硬件兼容性测试和软件兼容性测试
(13)稳定性测试:指连续运行被测系统检查系统运行时的稳定程度
(14)负载测试:指让被测系统在其能忍受的压力的极限范围之内连续运行,来测试系统的稳定性
(15)压力测试:指持续不断的给被测系统增加压力,直到将被测系统压垮为止,用来测试系统所能承受的最大压力
(16)回归测试:指对软件的新的版本测试时,重复执行上一个版本测试时的用例
(17)冒烟测试:指在对一个新版本进行大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性
(18)随机测试:指测试中所有的输入数据都是随机生成的,其目的是模拟用户的真实操作,并发现一些边缘性的错误
(19)手工测试:由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试,众包测试、探索式测试
(20)自动化测试:使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查
二、测试方法分类说明:
根据开发阶段划分:单元测试、集成测试、系统测试、开发测试;
根据是否运行划分:静态测试、动态测试
根据是否查看源代码划分:黑盒测试、白盒测试
其他还有回归测试、冒烟测试、随机测试
其中黑盒测试包括功能测试和性能测试;
功能测试有:逻辑功能测试、界面测试、易用性测试、安装测试、兼容测试;
性能测试有:一般性能测试、稳定性测试、压力测试、负载测试
三、测试理论知识
过程:测试计划评审通过—>设计测试方案—>测试方案评审通过—>依据测试方案设计测试用例—>测试用例评审通过—>依据测试方案搭建测试环境。
测试计划和测试方案的本质区别是内容不同。
测试计划的核心内容:
制定项目测试过程中的测试重点,各个阶段的任务分配以及时间进度安排,并提出对各项任务的评估,风险分析
1、进行测试任务划分;
2、进行测试工作量估计;
3、人员资源和资源分配;
4、明确任务的时间和进度安排;
5、风险估计和应急计划;
6、测试失败/通过的标准;
测试方案的主要内容:
侧重测试的方法,测试环境的规划,测试工具的设计和选择,测试用例的设计方法,测试代码的设计方案
1、测试策略选取,明确策略;测试策略就是如何用最少的资源满足测试质量的要求,既高效、低成本、较高质量的完成测试。
2、测试子项细分,细化测试特性形成测试子项;将测试计划中描述的方法进行细化,包括要采用的具体测试技术。
3、测试用例的规划;
4、测试环境的规划;
5、自动化测试框架的设计;
6、测试工具的设计和选择;
测试策略:侧重需求分析,评估风险,定义测试范围,确定测试方法,制定测试启动、停止、完成标准和条件
总而言之,测试方案需要在测试计划指导下进行,测试计划提出了“做什么”,测试方案明确了“怎么做”,方案是对计划的进一步细化和明确。两者既有联系又有区别,概念总归是概念,根据软件项目规格大小以及实际应用环境,测试人员应该具体问题具体分析。