`
touchmm
  • 浏览: 1046984 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

软件特征功能测试过程分析

阅读更多
作者:崔启亮 原始出处:“中国本地化网www.giltworld.com
软件功能特征测试是国际化软件测试最先开始并且贯穿于整个软件开发过程的测试类型,目的是从软件的各个侧面进行质量保证,确保软件的特征功能符合软件的设计需求和功能规格说明。

在执行特征功能测试前,应该对国际化软件提供的软件特征功能以及这些功能的重要性进行风险分析,以便确定测试过程中的测试成本。

1、测试输入

国际化软件的特征功能测试的输入内容包括:

  • 软件功能规格说明;
  • 软件需求;
  • 软件的性能目标;
  • 软件的布署场景 (Deployment Scenario) 。

2、测试过程

软件特征功能测试的过程如下图所示:

软件测试计划是指导软件测试的主要文档,指出测试的内容、测试的起止日期、测试过程、测试方法、测试用例的优先级和测试的其他详细内容,在软件设计、编码和测试期间,经常需要更新测试计划,特别是更改软件的需求后,需要及时更新软件测试计划。

软件测试计划是指导软件测试的主要文档,指出测试的内容、测试的起止日期、测试过程、测试方法、测试用例的优先级和测试的其他详细内容,在软件设计、编码和测试期间,经常需要更新测试计划,特别是更改软件的需求后,需要及时更新测试计划。

设计评审 (Design review) 确保软件的设计阶段包含了全部的布署场景和软件需求,遵循了软件的性能、安全性、国际化和可维护性的要求。

实现编码评审确保软件的代码正确和遵守规范,符合软件国际化的需要。

软件的白盒测试也称为“结构测试”,是对软件的代码进行审查,找出引起软件功能缺陷的编码错误。

软件的白盒测试也称为“功能测试”,是从用户使用的角度运行软件,执行全部的终端用户场景的测试用例,发现软件与设计需求和用户需求不一致的缺陷。

3、测试过程分析

  • 创建测试计划

测试计划文档中主要的内容是用于测试软件的测试用例,涵盖了设计评审、代码评审、配置、布署测试和负载测试的各个方面,确保软件的全部特征功能和使用场景都进行了测试。

测试文档包括详细测试计划文档和详细测试用例文档。详细测试计划文档按照“高、中、低”的顺序列出了测试用例的优先级,对测试用例中的使用场景和需要测试的特征进行了简要描述。根据测试用例的重要性和对期望的目标和需求的全面影响,为每一个测试用例指定测试执行的优先级。

详细测试用例文档与详细测试计划文档相对应,描述了详细测试计划文档列出的需要执行的每个测试用例的执行步骤,以及测试所需要的数据,给出了测试的期望结果。

需要强调的是详细测试计划文档和详细测试用例文档不是一成不变的,相反,这两个文档的内容要在软件开发生命周期的全过程不断更新。例如,当软件的功能规格说明、软件的需求更改后,或者需要添加更多的测试输入时,需要及时更新文档。另外,当修改了测试用例的优先级,或者添加了使用场景或功能测试用例时,也需要及时更新这两个文档。

  • 设计评审

从软件测试的视角看,设计评审非常重要,通过全面评审软件设计内容,可以在软件开发的早期发现一些潜在与性能和安全性有关的缺陷。如果这些缺陷在编面阶段才被发现,则修正缺陷耗费的时间将比设计阶段修改缺陷大得多。

详细而言,设计评审有助于确保下列问题:

  • 软件设计符合功能规格说明和软件需求的全部内容;
  • 确保软件设计符合全部性能目标;
  • 软件设计考虑了应用程序在不同的布署场景时的全部安全性;
  • 软件设计遵守了程序耦合和内聚、一致性、通讯、类设计、异常管理、资源管理、缓冲区等的代码编写格式要求,以便开发人员可以方便地扩展和定制软件。
  • 软件设计遵守了国际化和本地化有关的指导准则。

此外,软件设计评审还要确保软件能够正确处理可能的安全攻击、性能优化和内存泄漏的问题。

  • 实现编码评审

在实现编码评审阶段,从详细测试计划文档中执行测试用例,对软件的代码进行审阅,这是软件单元测试的重要步骤。通过代码评审,可以在软件开发的早期发现问题。

具体地,实现代码评审有助于确保下列问题:

  • 软件代码遵守了软件需求文档的要求;
  • 软件的类命名、变量、方法名等代码元素遵守了命名规范;
  • 软件代码在合适位置包含了有助于其他开发人员正确理解的注释语句;
  • 软件代码可以正确处理与性能、扩展性、安全性有关的问题;
  • 软件代码对异常管理和内存分配有关的资源管理能正确处理;
  • 软件代码考虑了软件国际化和本地化有关的问题;
  • 软件不包含冗余的从来不被调用的代码。

此外,实现代码评审还要确保软件能够正确处理边界条件、特殊输入、可能的安全攻击、性能优化、内存泄漏和线程安全等问题。

  • 执行白盒测试

白盒测试执行详细测试计划中与白盒测试有关的测试用例,通过分析软件代码的内部工作方式和程序逻辑结构,寻找软件存在的缺陷。

分析源程序编码,确定测试不公 API 和测试代码路径所需要的输入数据,并且更新测试计划。

白盒测试包括以下内容:

  • 剖析应用程序在运行时某些特殊代码的行为特征,包括代码覆盖、内存分配、竞争和死锁( Deadlock )问题;
  • 跟踪代码路径分析与关键性能的相关的时间占用,对于基于 Web 的应用程序,还需要监视请求的执行时间;
  • 测试程序的内部分支路径,确保每个路径正确处理数据,返回期望的输出,而不会引起功能损失或不一致;
  • 测试不同的循环和条件语句,例如简单循环、嵌套循环,关系表达式、简单条件、符合条件、布尔表达式,保证代码组建的精度要求;
  • 安全性测试。如果软件某段代码在目标布署环境存在安全访问为题,应该分析对应的处理安全性的代码,避免程序向攻击者暴露敏感信息。
  • 执行黑盒测试

黑盒测试执行详细测试计划中与黑盒测试有关的测试用例,黑河测试不需要测试者了解程序的内部结构,而主要模拟终端用户的操作方式。

黑盒测试确保应用程序满足以下要求:

  • 应用程序符合需求文档中列出的全部目标;
  • 应用程序包括了功能规格说明指定的全部功能点;
  • 应用程序能够正确地处理期望的和异常的使用场景。

黑盒测试包括以下内容:

  • 测试全部使用场景的外部接口。确保接口符合功能规格说明和系统需求,使用场景既包括期望的处理流程,也包括随机的输入。
  • 测试不同的输入类型。确保软件接口可以输出期望的结果,并且可以正确处理无效的数据和异常情况。测试的输入数据包括合理的数据、边界数据和超出最大和最小的输入数据。
  • 性能测试。验证应用程序在正常情况下和极限负载条件下,程序能够处理不断增加的访问请求,具有良好的扩展能力。性能测试包括负载测试和压力测试。性能测试的测试结果可以作为实现代码审阅和白盒测试的输入。
  • 安全性测试。从黑盒测试的观点看,安全性测试通过模拟软件真实运行环境下攻击者的操作行为,寻找软件不正确的设计和编码的安全隐患。安全性测试包括验证输入数据、破解加密和访问敏感数据、缓冲区溢出、授权和证书功能等。
分享到:
评论

相关推荐

    在软件测试中软件特征功能测试过程分析

    在软件测试中软件特征功能测试过程分析功能测试之乐:功能测试定义了产品的业务需求,通过它业务人员可以了解系统是否能在各个业务场景下正常工作。功能测试通常使用某种自动化测试框架编写,这样开发者可以从自动化...

    软件性能测试过程详解与案例剖析

    本书《软件性能测试过程详解与案例剖析》详细地介绍了软件性能测试的基础知识,同时辅以多个实际案例,为测试人员提供了从理论到实践的全面指导。 在基础篇中,首先介绍了软件性能的基本概念,包括从不同视角(用户...

    软件性能测试与调优指南整理.pdf

    软件性能测试是一个复杂的过程,涉及到多个方面的知识,包括性能测试目标、性能测试类型、性能测试阶段、性能测试过程等。以下是软件性能测试与调优指南的详细知识点: 1. 性能测试目标 性能测试的目标是为了确保...

    软件测试中的特征功能测试过程分析

    软件测试中的特征功能测试过程分析软件功能特征测试是国际化软件测试最先开始并且贯穿于整个软件开发过程的测试类型,目的是从软件的各个侧面进行质量保证,确保软件的特征功能符合软件的设计需求和功能规格说明。...

    软件工程软件测试分析报告标准

    《软件工程软件测试分析报告标准》是一份详细指导如何编写测试分析报告的国家标准,旨在确保软件测试过程的规范性和有效性。这份报告的核心内容包括以下几个部分: 1. 引言: 引言部分阐述了报告的编写目的,即...

    软件系统性能测试报告

    在进行性能测试之前,我们对软件系统进行了深入分析,了解其核心功能、架构以及预期的工作负载。这包括识别关键业务流程,理解系统的吞吐量、延迟和并发用户数量等性能指标。 2.2 测试通过标准 测试通过的标准通常...

    软件工程模版-测试分析报告

    测试计划执行情况是软件测试过程中的一个重要组成部分,它可以帮助软件开发者和用户了解软件的优缺和改进建议。 五点一、测试项目 在软件测试过程中,我们需要确定测试项目,以确定软件是否满足用户的需求和期望。...

    软件性能测试分析的4种方法

    综上所述,软件性能测试分析是一个多维度、多阶段的过程,涉及能力验证、规划性能、性能调优和发现缺陷四个主要环节。这四种方法是互相支持和补充的,通过它们的综合运用,测试人员能够全面评估软件系统在不同条件下...

    软件测试过程

    ### 软件测试过程详解 #### 一、软件测试的重要性及目的 软件测试是确保软件质量的关键步骤,其目的是验证软件是否满足预期的功能和性能要求。通过一系列的方法和技术,软件测试能够帮助发现软件中存在的缺陷,并...

    软件性能测试过程详解与案例剖析-高清

    本资源“软件性能测试过程详解与案例剖析-高清”深入探讨了这一主题,旨在帮助测试人员和开发人员理解性能测试的重要性,掌握其实施步骤,并通过实际案例加深理解。 性能测试的主要目标是评估软件在高并发、大数据...

    软件性能测试记录表-模板

    软件性能测试记录表是用来系统性地记录这些测试过程和结果的重要工具。以下将详细介绍“软件性能测试记录表”的内容及其重要性,并探讨如何有效地利用此模板进行性能测试。 性能测试的目标是测量软件的响应时间、...

    机器人软件测试的基本流程分析.pdf

    在测试过程中,还需获取软件需求规约中的需求信息,根据这些需求信息对软件需求规约进行拆分,得到多个特征,再根据特征信息拆分为多个特征元项,以提高测试效率。 四、机器人软件测试方法的应用 随着机器人软件...

    软件性能测试过程详解与案例剖析(第2版)

    《软件性能测试过程详解与案例剖析(第2版)》是一部深入探讨软件性能测试的权威著作,涵盖了从基本概念到实战技巧的全方位内容。在软件开发过程中,性能测试是不可或缺的一环,它确保了应用程序在高负载、大数据量...

    高级软件测试,测试分析师

    1. **软件测试基础**:书中首先会回顾软件测试的基本概念,包括测试的目的、类型(如功能测试、性能测试、安全性测试等)和生命周期,以及不同测试阶段(如单元测试、集成测试、系统测试和验收测试)的关联与区别。...

    软件性能测试过程详解(基础)

    以下是对性能测试过程的详细解析: 首先,我们需要纠正性能测试的误区。性能测试并非在软件开发完成后才进行,而是应该贯穿整个软件开发生命周期。测试不仅仅是找出错误,它需要技术支撑,例如编写自动化测试脚本。...

Global site tag (gtag.js) - Google Analytics