`
spasvo520
  • 浏览: 19534 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多

  1、软件测试概述与必要性

  软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于应该如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。

  随着软件规模的增大,软件的复杂程度也越来越大,与其他系统的接口不断增多应用越来越广泛,集成度越来越高,这使得没有现代软件开发经验的人很难理解它。为了尽可能地减少错误,软件测试这一环节必须得到重视。

  中国软件外包市场巨大,国内软件外包服务多属于为客户提供技术和质量服务的中间环节。以软件外包来说,业务内容基本都针对测试环节。这就要求我们加强对软件测试的重视。

  质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,在一些关键应用,如民航订票系统、银行结算系统、证券交易系统等中使用质量有问题的软件,还可能造成灾难性的后果。这使得软件测试环节显得尤为重要。

  2、软件测试技术分析

  2.1 软件测试的概念

  软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一组测试数据,并利用这些测试数据运行程序,以发现程序错误的过程。根据测试数据设计方法,软件测试可分为结构测试和功能测试。在结构测试过程中,测试者对程序的语句、分支和逻辑路径进行各种覆盖测试,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一致。软件测试的目的是发现错误,而不是确认其正确性,而对已进行的测试过程的程度进行评估。

  2.2 软件测试的目的

  软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。

  2.3 软件测试的方法和过程

  软件测试的种类可以分为人工测试和基于计算机的测试。而基于计算机的测试又可以分为白盒测试和黑盒测试。原则上讲,软件测试分为静态测试和动态测试两类。静态测试包括代码审查和静态分析,动态测试包括白盒测试和黑盒测试。[2]

  测试虽然是软件生存周期的一个独立阶段,但测试工作却渗透到从分析、设计直到编程的各个阶段中,如测试计划的编写从分析和设计阶段就开始了,而具体的测试工作随编程工作的不断深入也在进行中。在实际工作中,测试环节可分为明显的、同等重要的三个阶段:即单元测试、集成测试(又称构件测试)和系统测试。

  2.3.1 单元测试

  软件单元定义了一个软件很底层的块,用PB开发的客户机/服务器的软件系统中,一个窗口、函数、菜单、报表或一个存储过程都可以作为一个单元进行测试。单元测试是测试的第一步。由开发者自己进行测试最合适,一般采用白盒测试。

  2.3.2 集成测试

  在将所有的单元经过测试以后,接着进行集成测试。集成测试也称综合测试,即将已分别通过测试的单元按要求组合起来再进行的测试,以检查这些单元之间的接口是否存在问题。要求参与的人熟悉单元的内部细节,又要求他们能够从足够高的层次上观察整个系统。集成测试阶段是以黑盒法为主,在自底向上集成的早期,白盒法测试占一定的比例,随着集成测试的不断深入,这种比例在测试过程中将越来越少,渐渐地,黑盒法测试占据主导地位。

  2.3.3 系统测试

  系统测试是整个测试阶段的最后一步,所有的开发和测试在这一点上集中表现为生成一个具有一定功能的软件系统。该阶段主要对系统的准确性及完整性等方面进行测试。主要进行:功能确认测试、运行测试、强度测试、恢复测试、安全性测试等。系统测试的测试人员由测试组成员(或质量保证人员)或测试组成员与用户共同测试。在整个系统开发完成,即将交付用户使用前进行。在这一阶段,完全采用黑盒法对整个系统进行测试。

  3、软件测试方法与软件测试工具

  3.1 软件测试方法

  软件测试方法是软件测试技术的一个重要的组成部分,引入自动化测试可以提高软件质量,节省经费,缩短软件产品的发布周期。软件测试自动化就是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动的测试,它是软件测试的一个重要组成部分,能够完成许多手工无法完成或者难以实现的一些测试工作。[3]

  3.2 软件测试工具

  自动化测试工具可以减少测试工作量,提高测试工作效率。在实际应用中,首先是能够选择一个合适的且满足企业信息系统工程坏境的自动化测试工具,因为不同的测试工具,其面向的测试对象是不一样的。按照测试工具的主要用途和应用领域将测试软件做了一个整理归纳,将自动化测试工具分为以下几类:

  3.2.1 捕获错误用途

  用于捕获软件错误或程序调试。常用的软件:一个是开发人员自行编写的测试工具;另一个是利用所使用的开发工具的调试功能或工具;最后就是购买专业的调试软件。如:泽众公司推出的Terminal Auto Runner一系列的调试软件。

  3.2.2一般用途

  一般用途的测试工具在进行测试时,可以适用大部分的软件。如www.spasvo.com网站提供的一些免费软件。

  3.2.3 GUI自动化用途

  这类软件除了提供在窗口界面中使用外,也有不少是针对浏览器窗口开发的自动化测试工具。主要代表:泽众公司的TestCenter(测试管理)、TestCase Designer(案例生成)、Terminal Auto Runner简称TAR(自动化测试工具)等。

  3.2.4 专项用途

  以专项用途为主的测试工具,就是某种专项测试的软件。

  3.2.5 软件产品功能、性能测试用途

  泽众公司系列包括多款测试产品,如功能测试工具Terminal Auto RunnerAuto Runner

  3.2.6 测试管理工具

  一般而言,测试管理工具对测试需求、测试计划、测试用例、测试实施进行管理,并且测试管理工具还包括对缺陷的跟踪管理。测试管理工具能让测试人员、开发人员或其他的IT人员通过一个数据库,在不同地方就能交互信息。

  3.2.7 测试辅助工具

  这些工具本身并不执行测试,例如它们可以生成测试数据,为测试提供数据准备。常用工具:TestCenter(测试管理)、TestCase Designer(案例生成)。

  4、结束语

  软件测试是软件工程的一个范畴。软件测试是有计划、有目的的工程性的活动。软件测试是使用人工或者自动化的手段来运行或测试某个系统的过程其目的在于检验是否满足某种预期的结果。软件测试目的是发现错误。一个好的测试用例是发现未发现的错误。一个经过测试的软件不能就说是完全正确的。软件测试是保证软件质量的一个重要手段。因此,软件测试应该贯穿与软件工程的始终。

分享到:
评论

相关推荐

    软件测试技术与测试方法概述

    软件测试技术是软件开发过程中的重要组成部分,旨在确保软件产品的质量、可靠性和安全性。本课程由东北大学软件学院的黄利萍教授讲授,涵盖了软件测试的多个关键方面。 首先,软件测试概述包括了测试的目的、重要性...

    软件测试方法和技术(朱少民).rar

    15 -16 第17章 软件测试项目管理 17.1软件测试项目管理的概述 17.2 软件测试项目的组织 17.3软件测试项目的过程管理 17.4软件测试项目的资源管理 17.5 测试项目的进度管理 17.6 测试项目的风险管理 17.7 测试项目的...

    面向对象的软件测试技术概述.pptx

    面向对象的软件测试技术是现代软件开发中不可或缺的一部分,尤其在应对复杂性和代码重用的需求上。面向对象(Object-Oriented, OO)的基本概念包括对象、类、消息和接口。 对象是面向对象的核心,它是一个包含一组...

    软件测试技术整体实施过程概述

    技术1、软件测试概述与必要性软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于应该如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。随着软件规模的增大,软件...

    软件测试方法和技术(四)

    17.1软件测试项目管理的概述 17.2 软件测试项目的组织 17.3软件测试项目的过程管理 17.4软件测试项目的资源管理 17.5 测试项目的进度管理 17.6 测试项目的风险管理 17.7 测试项目的质量管理和配置管理 17.8 软件测试...

    基于云计算的电力软件测试技术研究.pdf

    本文是一篇关于电力软件测试技术研究的论文,主要探讨了基于云计算技术在电力行业软件测试中的应用,以及如何通过云计算技术提高电力软件测试的安全性和效率。文章首先概述了云计算在信息通信技术中的发展趋势,如...

    软件测试方法和技术(二)

    17.1软件测试项目管理的概述 17.2 软件测试项目的组织 17.3软件测试项目的过程管理 17.4软件测试项目的资源管理 17.5 测试项目的进度管理 17.6 测试项目的风险管理 17.7 测试项目的质量管理和配置管理 17.8 软件测试...

    面向对象的软件测试技术概述.pdf

    面向对象的软件测试技术是现代软件工程中不可或缺的一部分,它主要针对使用面向对象编程方法开发的软件进行质量验证。随着面向对象技术的广泛应用,软件的复杂性和可复用性增加,测试的重要性也随之提升,因为错误的...

    软件测试规范《pdf文档》

    以上是对软件测试规范及其相关知识点的概述,实际的《软件测试规范》文档将更深入地探讨每个环节的细节,为软件测试提供全面的指导。在软件开发中,遵循规范不仅可以提高测试质量,也有助于提升整个团队的工作效率。

    软件测试方法和技术(五)

    17.1软件测试项目管理的概述 17.2 软件测试项目的组织 17.3软件测试项目的过程管理 17.4软件测试项目的资源管理 17.5 测试项目的进度管理 17.6 测试项目的风险管理 17.7 测试项目的质量管理和配置管理 17.8 软件测试...

    软件测试大作业

    【商品库存管理系统软件测试大作业】是一份针对《软件测试》课程的学生进行的课程设计报告。这份报告旨在全面测试一个商品库存管理系统,确保其在实际应用中的稳定性和可靠性。以下是根据报告内容提炼出的关键知识点...

    软件白盒测试技术概述.pptx

    《软件白盒测试技术概述》 软件白盒测试,又称为结构测试或基于代码的测试,是一种基于程序源代码的测试方法。它的核心理念是通过分析程序的内部逻辑结构,设计出测试用例,确保程序的每部分代码至少被执行一次。...

    软件测试技术讲义幻灯片

    【软件测试技术】是软件开发过程中的重要环节,旨在确保软件的质量和可靠性。这门课程由东北大学软件学院的黄利萍老师授课,涵盖了软件测试的全面内容,包括概述、功能性测试、结构性测试、集成测试、系统测试、自动...

    软件测试概述 中兴培训

    【软件测试概述】\n\n软件测试是软件开发过程中至关重要的一环,旨在发现并修复程序中的错误和缺陷,确保软件产品的质量和稳定性。测试方案的制定是这一过程的起点,包括了测试设计、测试用例的开发,以及选择合适的...

Global site tag (gtag.js) - Google Analytics