接口测试

接口测试

API测试通常应用在下列测试当中[7]:

单元测试

编辑

主条目:单元测试

在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)进行函数级正确性检验的测试工作[8]。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。

通常来说,程式设计师每修改一次程式就会进行最少一次单元测试,在编写程式的过程中前后很可能要进行多次单元测试,以证实程式达到软件规格书要求的工作目标——没有程序错误。

功能测试

编辑

主条目:功能测试

功能测试是一种质量保证流程,是一种基于测试用例的软件组件规范的黑盒测试[9]。在这种测试当中,被测函数是通过检查输入和输出是否合理来测试的,很少考虑内部程序结构(不像白盒测试)。它是一种比单元测试规模更大的的测试,针对由多个单元构成的某一特定功能进行的测试, 包括测试用例的定义、执行、验证和回归测试[10]。

负载测试

编辑

主条目:负载测试(英语:Load testing)

负载测试有时称为极限测试(Extreme),这个术语在专业软件测试社区中以不同的方式使用[11] 。它通常是指通过模拟多个用户同时访问软件程序来模拟软件实际使用场景中会遇到的情况并对其进行测试。因此,这种测试在测试多用户系统时很常见。这种测试通常使用客户机/服务器模型(如web服务器)构建。然而,其他软件也可能需要进行负载测试。例如,文字处理器或图形编辑器可能遇到读取非常大文档的情况;而一个金融方案可能会被要求按照总共几年以上的数据生成一份报告。因此负载测试广泛应用于各中软件的开发中。负载测试最好模拟实际使用情况直接进行测试,而不是使用理论或分析模型“模拟”。

运行错误检测

编辑

主条目:运行错误检测(英语:Runtime error detection)

运行错误指的是尽管程序可以通过编译开始执行,但是在执行过程中发生异常,提前退出程序。最常见的是指针越界,打开文件失败继续读取文件,资源泄露(如内存泄漏、死锁)等。总而言之是让计算机执行一些不能执行的语句时抛出的错误[12]。

安全测试

编辑

主条目:安全测试

包括 渗透测试 和 模糊测试 以及验证认证、加密和访问控制API运行是否正常等测试内容,[13][14]。

网页UI测试

编辑

主条目:网页UI测试(英语:Web testing)

是集成测试的一部分,也涵盖API测试的内容[15]。

互操作性测试

编辑

主条目:互操作性

互操作性(英文:Interoperability;中文又称为:协同工作能力,互用性)作为一种特性,它指的是不同的系统和组织机构之间相互合作,协同工作(即互操作)的能力。系统工程设计方面常常会用到这条术语。通过测试在不同环境下调用API时,API给出的功能反馈是否符合预期来测试待测系统的兼容性则是互操作性测试侧重的内容[16]。

Web服务规范测试(WS-*)

编辑

主条目:Web服务规范列表

测试待测系统(一般针对应用SOAP协议的系统)是否符合WS-*规范[17]。

渗透测试

编辑

主条目:渗透测试

渗透测试是指一个具备资安知识与经验、技术人员受雇主所托,为雇主的网路设备、主机,模拟骇客的手法对网路或主机进行攻击测试,为的是发掘系统漏洞、并提出改善方法。这种攻击通常是出于善意的。对于API而言,这种测试则指的是通过渗透手段测试某个API中是否有可以利用漏洞[18]。

模糊测试

编辑

主条目:模糊测试

模糊测试 (fuzz testing, fuzzing)是一种软件测试技术。其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏。模糊测试常常用于检测软件或计算机系统的安全漏洞。对于API而言,模糊测试指的是将大量随机数据(或称“噪声”或“模糊”)强制输入到API中以试图引起系统崩溃、内存溢出或者其他负面情形来测试API应对“最坏的情况”时的极限处理能力[19]。

相关推荐

3步搞定每日计划
365国际彩票下载

3步搞定每日计划

📅 08-20 👁️ 4960
apple 图书app 连接不上网络
365bet手机app下载

apple 图书app 连接不上网络

📅 07-30 👁️ 8151