夜雨聆风学习资料网

ARTICLE · 1010540

软考架构 | 5.4 软件测试重点

软考架构 | 5.4 软件测试重点

5.4 软件测试 ★★★★★

5.4.1 测试方法 ★★★★★

以测试过程中程序执行状态为依据可分为静态测试 (Static Testing,ST) 和动态测试 (Dynamic Testing,DT);  以具体实现算法细节和系统内部结构的相关情况为根据可分:黑盒测试、白盒测试和灰盒测试3类; 从程序执行的方式来分类,可分为:人工测试 (Manual Testing,MT) 和自动化测试 (Automatic Testing,AT)。

静态分析方法

白盒、黑盒测试

静态分析通过解析程序文本从而识别出程序语句的各个部分,审查可能的缺陷和异常之处,静态分析包括五个阶段:

控制流分析阶段找出并突出显示那些带有多重出口或入口的循环以及不可达到的代码段;

数据使用分析阶段突出程序中变量的使用情况;

接口分析阶段检查子程序和过程声明及它们使用的一致性;

信息流分析阶段找出输入变量和输出变量之间的依赖关系:

路径分析阶段找出程序中所有可能的路径并画出在此路径中执行的语句。

自动化测试工具主要使用脚本技术来生成测试用例,脚本是一组测试工具执行的指令集合。脚本的基本结构主要有五种:

线性脚本是录制手工测试的测试用例时得到的脚本;

结构化脚本具有各种逻辑结构和函数调用功能;

共享脚本是指一个脚本可以被多个测试用例使用;

数据驱动脚本是指将测试输入存储在独立的数据文件中,而不是脚本中;

关键字驱动脚本是数据驱动脚本的逻辑扩展,用测试文件描述测试用例。

5.4.2 测试阶段 ★★★★★

从阶段上划分,软件测试分为:单元测试、集成测试和系统测试,

系统测试中又包含了多种不同的测试种类,例如功能测试、性能测试、验收测试、压力测试等。

 集成测试策略

系统测试

 强度测试:是在系统资源特别低的情况下考查软件系统极限运行情况 负载测试:用于测试超负荷环境中程序是否能够承担。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。 压力测试:通过确定系统的瓶颈或不能接收的性能点,来获得系统能够提供的最大服务级别的测试。负载测试和压力测试可以结合进行,统称为负载压力测试。 容量测试:并发测试也称为容量测试,主要用于测试系统可同时处理的在线最大用户数量。

面向对象的测试

1.单元测试 主要是对该软件的模块进行测试,通过测试以发现该模块的功能不符合/不满足期望的情况和编码错误。

2.集成测试 集成测试通常要对已经严格按照程序设计要求和标准组装起来的模块同时进行测试,明确该程序结构组装的正确性,发现和接口有关的问题。一般采用白盒测试和黑盒测试结合的方法进行测试,验证这一阶段设计的合理性以及需求功能的实现性。

3.系统测试 一般情况下,系统测试采用黑盒测试,以此来检查该系统是否符合软件需求。本阶段的主要测试内容包括:功能测试、性能测试、健壮性测试、安装或反安装测试、用户界面测试、压力测试、可靠性及安全性测试等。 

4.性能测试 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。 通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。 压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。 

5.验收测试 验收测试是要满足用户需求或者与用户签订的合同(包括技术协议、技术协调单以及各个 阶段用户参与的评审意见等)的各项要求。验收测试的主要目标是为用户展示所开发出来的软件符合预定的要求和有关标准,并验证软件实际工作的有效性和可靠性,确保用户能用该软件顺利完成既定的任务和功能。 从用户的角度出发,测试人员还应进行Alpha测试或Beta测试。 Alpha 测试是在软件开发环境下由用户进行的测试,或者模拟 实际操作环境进而进行的测试。Alpha 测试主要是对软件产品的功能、局域化、界面、可使用性 以及性能等等方面进行评价。 而Beta测试是在实际环境中由多个用户对其进行测试,并将在测试过程中发现的错误有效反馈给软件开发者。

6.其他测试 除了上述各种常规的测试种类之外,由于Web应用和 App 应用的大规模兴起,也出现了一些新型的测试种类,例如 AB 测试、 Web 测试中的链接测试、表单测试等。 (1)AB测试是为系统制作两个或多个不同的版本,在同一时间内,让同等数量的用户去使用,收集用户体验数据和业务数据,分析、评估确认最好的版本

(2)Web测试是针对Web 应用的一类测试。通过测试尽可能地多发现浏览器端和服务器端程序中的错误并及时加以修正,以保证应用的质量。由于Web具有分布、异构、并发和平台无关的特性,它的测试要比普通程序复杂得多,包含的测试种类也非常多。

(3)链接测试。链接是Web应用系统中进行界面切换和跳转的主要手段。链接测试可分为3个方面。 首先,测试所有链接是否按能跳转到指定页面; 其次,测试所链接的页面是否存在; 最后,保证 Web应用系统上没有孤立的页面。

(4)表单测试。当用户通过表单提交信息的时候,需要验证操作流程,检验数据,并返回提示信息。

软件测试 与 软件调试 对比

相关学习资料