一、白盒测试
白盒测试是对软件产品的内部工作过程,通过测试证明每种内部操作是否符合设计规格要求,全面了解程序内部逻辑结构、对所有逻辑路径进行测试。主要立足于对软件的过程性细节做到细致的检查,对程序的所有逻辑路径进行测试,通过在不同的点检查程序的状态,确定实际的状态是否与预期的状态一致。
目的及意义
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。由我评测中心出具的白盒测试报告能客观、准确地评价软件,提供有效的修改意见,帮助软件开发者了解软件内部工作过程,即时修改不足,提高软件质量。
“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。
软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:
– 对程序模块的所有独立的执行路径至少测试一次;
– 对所有的逻辑判定,取 “ 真 ” 与取 “ 假 ” 的两种情况都至少测试一次;
– 在循环的边界和运行界限内执行循环体;
– 测试内部数据结构的有效性,等。
具体包含的逻辑覆盖有: – 语句覆盖 – 判定覆盖 – 条件覆盖 – 判定-条件覆盖 – 条件组合覆盖 – 路径覆盖。
二、黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
三、回归测试
在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件带来问题。软件的改变可能是源于发现了错误并做了修改,也有可能是因为在集成或维护阶段加入了新的模块。当软件中所含错误被发现时,如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错误的修改;而开发者对错误理解的不够透彻,也可能导致所做的修改只修正了错误的外在表现,而没有修复错误本身,从而造成修改失败;修改还有可能产生副作用从而导致软件未被修改的部分产生新的问题,使本来工作正常的功能产生错误。同样,在有新代码加入软件的时候,除了新加入的代码中有可能含有错误外,新代码还有可能对原有的代码带来影响。因此,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。同时,还需要补充新的测试用例来测试新的或被修改了的功能。为了验证修改的正确性及其影响就需要进行回归测试。
目的及意义
回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。
a白盒测试技术 (White Box Testing) :深入到代码一级的测试,使用这种技术发现问题最早,效果也是最好的。该技术主要的特征是测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行在软件编码阶段,开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主,在 JAVA 平台使用 Xunit 系列工具进行测试, Xunit 测试工具是类一级的测试工具对每一个类和该类的方法进行测试。
b黑盒测试技术( Black Box Testing ):黑盒测试的内容主要有以下几个方面,但是主要还是功能部分。主要是覆盖全部的功能,可以结合兼容,性能测试等方面进行,根据软件需求,设计文档,模拟客户场景随系统进行实际的测试,这种测试技术是使用最多的测试技术涵盖了测试的方方面面,可以考虑以下方面
c正确性 (Correctness) :计算结果,命名等方面。
d可用性 (Usability) :是否可以满足软件的需求说明。
e边界条件 (Boundary Condition) :输入部分的边界值,就是使用一般书中说的等价类划分,试试最大最小和非法数据等等。
f 性能 (Performance) : 正常使用的时间内系统完成一个任务需要的时间,多人同时使用的时候响应时间在可以接受范围内。 J2EE 技术实现的系统在性能方面更是需要照顾的,一般原则是 3 秒以下接受, 3-5 秒可以接受, 5 秒以上就影响易用性了。如果在测试过程中发现性能问题,修复起来是非常艰难的,因为这常常意味着程序的算法不好,结构不好,或者设计有问题。因此在产品开发的开始阶段,就要考虑到软件的性能问题
g压力测试 (Stress) :多用户情况可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行。如果有负载平衡的话还要在服务器端打开监测工具 , 查看服务器 CPU 使用率,内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的影响等等信息。如果有必要的话必须进行性能优化 ( 软硬件都可以 ) 。这里的压力测试针对的是某几项功能。
h错误恢复 (Error Recovery) :错误处理,页面数据验证,包括突然间断电,输入脏数据等。
i 安全性测试 (Security) :这个领域正在研究中,防火墙、补丁包、杀毒软件等的就不必说了,不过可以考虑。破坏性测试时任意看了一些资料后得知 , 这里面设计到的知识 \ 内容可以写本书了 , 不是一两句可以说清的,特别是一些商务网站,或者跟钱有关,或者和公司秘密有关的 web 更是需要这方面的测试,在外国有一种专门干这一行的人叫安全顾问,可以审核代码,提出安全建议,出现紧急事件时的处理办法等,在国内没有听说哪里有专门搞安全技术测试的内容。
j 兼容性 (Compatibility) :不同浏览器,不同应用程序版本在实现功能时的表现不同的上网方式,如果你测试的是一个公共网站的话。
分享到:
相关推荐
【常用软件测试方法】 1. **黑盒测试**:这种方法关注软件的功能,基于需求文档进行测试,不考虑内部实现细节。优点是简单易行,与内部结构无关,能从用户视角出发,测试软件功能的实现。然而,黑盒测试的覆盖率...
"软件测试的定义及常用软件测试方法介绍" 软件测试是指使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。软件测试的主要工作内容是验证...
常用的软件测试方法包括黑盒测试、白盒测试、基于风险的测试等。 黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试...
为了确保软件的高质量,软件测试方法作为保障软件质量的重要手段,扮演着至关重要的角色。在众多测试方法中,黑盒测试、白盒测试和灰盒测试是最为常见的几种测试手段,同时它们也与软件开发过程中的测试流程密不可分...
软件测试 1. 黑盒测试 黑盒测试,又称为功能测试,是一种基于软件需求规格说明书的测试方法。测试人员不关心程序内部的结构和逻辑,只关注输入与输出之间的关系。通过输入不同的数据,观察程序的输出是否符合预期,...
2 第2章 软件测试的基本概念和方法 2.1 软件质量就是客户的满意度 2.2 软件缺陷(Bug)是什么 2.3 软件测试的基本方法 2.4 软件测试的分类和阶段 2.5 软件测试的工作范畴 4 3 第3章 质量保证与测试策略 3.1软件质量...
本文将对软件测试方法进行总结,涵盖划分等价类、边界值分析、语句覆盖、判定覆盖、条件覆盖、路径覆盖、判定-条件覆盖、功能测试的常用方法、界面测试的常用方法等方面。 一、划分等价类 划分等价类是软件测试中...
《软件测试方法和技术(第2版)》是一部深入探讨软件测试领域的教材,旨在为学习者提供全面、系统和实用的测试知识。此书涵盖了软件测试的基础理论、实践技巧以及最新的测试技术,对于软件开发团队中的测试人员、...
"软件测试常用单词" 软件测试是软件开发过程中极其重要的一步,旨在确保软件产品的质量和可靠性。软件测试的主要目标是发现软件中的错误和缺陷,以便尽早地修复和改进软件产品。为此,软件测试需要熟悉各种测试术语...
提到的“常用软件测试方法”,主要包括: 1. **黑盒测试**:这是一种不考虑内部结构,只关注软件功能的测试方法。黑盒测试有多种技术,如: - **等价类划分**:将所有可能的输入数据划分为若干个等价类,然后从中...
【常用软件测试方法】 1. **黑盒测试**:这种方法不考虑软件的内部结构,仅基于需求文档来验证软件功能。优点是简单、与软件内部实现无关、能从用户角度出发测试、基于文档可了解功能实现,适合自动化测试。但其...
本文总结了常用的软件测试英语词汇,涵盖了软件测试的各个方面,包括测试方法、测试策略、测试环境、测试用例、测试计划等。 测试类型 * 静态测试(Non-Execution-Based Testing 或 Static testing):不执行代码...
### 常用软件测试专业术语详解 #### 单元测试(Unit Testing) 单元测试是对软件中的最小可测试单元进行检查和验证的过程。这些单元通常是软件中的一个函数或子程序。这种测试通常由开发人员自己编写和执行,旨在...
软件测试方法和技术 共17章 1.1 软件的含义 1.2 软件开发过程的特性 1.3 软件测试的重要性 2.1 软件质量就是客户的满意度 2.2 软件缺陷(Bug)是什么 2.3 软件测试的基本方法 2.4 软件测试的分类和阶段 2.5 软件测试...
软件测试方法和技术,共17章 1.1 软件的含义 1.2 软件开发过程的特性 1.3 软件测试的重要性 2.1 软件质量就是客户的满意度 2.2 软件缺陷(Bug)是什么 2.3 软件测试的基本方法 2.4 软件测试的分类和阶段 2.5 软件测试...
常用功能测试方法摘要 在软件测试中,功能测试是最重要的测试阶段之一。它旨在验证软件应用程序是否满足用户需求和业务需求,是否能够正确地执行预期的功能。常用的功能测试方法有多种,以下是其中的一些。 1. ...
软件测试入门,软件测试流程方法与常用工具,软件测试基础
软件测试及常用测试方法解析.pdf
《朱少民——软件测试方法和技术》是一份深入探讨软件测试领域的宝贵资料,它涵盖了测试的基础理论、常用方法以及先进的技术。这份资源对于那些渴望在软件测试领域提升自己技能的人来说,无疑是一份极具价值的学习...
不同的测试方法、测试技术和测试类型是根据应用程序的类型和性质来决定的。例如,运用于医疗设备上的软件应用程序相比游戏软件需要进行更多的测试。 6. 无错谬误 只是因为测试没有发现软件中的任何缺陷,并不意味...