导图社区 软件测试方法
软件测试方法
是否关心内部结构
白盒测试
又称为结构测试或逻辑驱动测试,是-种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。
黑盒测试
又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正角性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。
灰盒测试
是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在- -起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。
测试所处环境
阿尔法测试
是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试
贝塔测试
是用户公司组织各方面的典型终端用户在日常工作中实际使用贝塔版本,并要求用户报告
是否执行代码
动态测试
是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。
静态测试
指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
开发过程级别
单元测试
又称模块测试,是针对软件设计的最小单----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。
系统测试
功能测试
对软件需求规格说明书中的功能需求逐项进行的测试,以验证功能是否满足要求。
性能测试
对软件需求规格说明书的功能需求逐项进行的测试,以验证功能是否满足要求。
接口测试
对软件需求规格说明中的接口需求逐项进行的测试。
人机交互 界面测试
对所有人机交互界面提供的操作和显示界面进行的测试,以检验是否满足用户的需求。
强度测试
强制软件运行在异常乃至发生故障的情况下(设计的极限状态到超出极限),验证软件可以运行到何种程序的测试。
余量测试
对软件是否达到规格说明中要求的余量的测试。
安全性测试
检验软件中已存在的安全性、安全保密性措施是否有效的测试。
可靠性测试
在真实的或仿真的环境中,为做出软件可靠性估计而对软件进行的功能(其输入覆盖和环境覆盖一 般大于普通的功能测试)。
恢复性测试
对有恢复或重置功能的软件的每一类导致恢复或重置的情况,逐一进行的测试。
边界测试
对软件处在边界或端点情况下运行状态的测试。
数据处理测试
对完成专门数据处理功能所进行的测试。
安装性测试
对安装过程是否符合安装规程的测试,以发现安装过程中的错误。
容量测试
检验软件的能力最高能达到什么程度的测试。
互操作性测试
为验证不同软件之间的互操作能力而进行的测试。
敏感性测试
为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。
标准符合性测试
验证软件与相关国家标准或规范(如军用标准、国家标准、行业标准及国际标准)一致性的测试。
兼容性测试
验证软件在规定条件下与若干个实体共同使用或实现数据格式转换时能满足有关要求能力的测试。
中文本地化测试
验证软件在不降低原有能力的条件下,处理中文能力的测试。
具体的测试类型
集成测试
又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一-种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。
测试实施组织
开发测试
开发人员进行的测试
第三方测试
有别于开发人员或用户进行的测试,由专业的第三方承担的测试,目的是为了保证测试工作的客观性
用户测试
用户方进行的测试
执行过程是否 需要人工干预
手工测试
就是测试人员按照事先为覆盖被测软件需求而编写的测试用例,根据测试大纲中所描述的测试步骤和方法,手工地一个一个地输入执行,包括与被测软件进行交互(如输入测试数据、记录测试结果等),然后观察测试结果,看被测程序是否存在问题,或在执行过程中是否会有一场发生,属于比较原始但是必须执行的一个步骤。
自动化测试
实际上是将大量的重复性的测试工作交给计算机去完成,通常是使用自动化测试工具来模拟手动测试步骤,执行用某种程序设计语言编写的过程(全自动测试就是指在自动测试过程中,不需要人工干预,由程序自动完成测试的全过程,半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试)。