软件测试方法是指测试软件的方法。随着软件测试技术的不断发展,测试方法越来越多样化,针对性也越来越强。选择合适的软件测试方法可以让我们事半功倍。本文主要介绍软件测试的方法和规范。让让我们一起来看看边肖的具体测试流程和规格。
软件测试的基本流程图
软件测试规范
测试代码和项目开发代码应该使用配置管理工具(比如SVN)分开管理。在测试代码被编写之后,它被存储在配置库中。在开发过程中,可以根据需要测试自己的代码。
而且测试环境和开发环境要分开,避免相互影响,便于缺陷的重现和定位。在条件允许的情况下,性能测试环境应与功能测试环境分开,以免在性能测试过程中影响功能测试。
1、测试阶段所依据的文件(包括但不限于)
测试规范形成的前提是需要基于规则的基础,这就需要基于标准的项目文档。常见文档包括以下内容:
1.1、软件要求规范
软件需求说明书的目的是使用户和软件开发人员对软件的初始条款有一个共同的理解,并使之成为整个项目团队的基础的工作。包括硬件、功能、性能、输入输出、接口要求、警告信息、保密与安全、数据与数据库、文件与法规等。
软件需求规格说明的作用是方便用户和开发人员的理解和交流,反映用户的结构问题。它可以作为软件开发的基础和依据,也可以作为测试和验收确认的依据。
1.2、软件设计描述(总体设计或详细设计)
软件设计分为概要设计和详细设计。设计大纲是连接用户提出的需求和软件的设计与实现的桥梁,是将用户提出的目标和需求转化为界面设计具体解决方案的重要阶段。场景的主要任务是将需求分析得到的系统扩展用例图转化为软件结构和数据结构。设计软件结构的具体任务是将一个复杂的系统按照功能划分成模块,建立模块的层次结构和调用关系,确定模块之间的接口和人机交互的接口。以便设计和建立目标系统的逻辑模型。
详细设计是软件工程中软件开发的一个步骤,也就是对概要设计的细化,也就是对各个模块实现算法所需的局部结构进行详细设计。在详细设计阶段,主要通过需求分析的结果,设计出符合用户需求的软件系统产品。软件设计说明书对测试工作的开展有很大的影响。没有软件设计说明,许多问题会追根溯源,测试准备的前期工作也是按照软件设计说明进行的。
1.3、软件设计原型(演示)
原型是项目人员快速熟悉项目的路径,使开发人员和测试人员更直观地了解客户需求,产品的实现方法和业务逻辑,帮助项目人员了解用户并以更直观、更具体的界面方式解释了用户希望如何实现他们所需要的功能。或者在需求不够清晰,设计规范不够全面的情况下,页面原型也是后期编写测试用例思路的重要依据。
1.4、接口文档
当项目中的子系统和功能模块之间存在交互,需要开发接口时,接口文档会定义参数传递和参数返回的规则,如名称、类型、长度、是否需要、每个返回代码的含义等。当有接口测试要求时,本文件是重要的测试依据
(1)静态测试:不测试程序本身,直接寻找程序中可能存在的缺陷或评估代码质量的行为。这种策略主要用于在单元测试期间评估技术和设计文档,并且程序无法执行或者需要检查原始程序的符合性时。
(2)动态测试:运行被测程序,输入测试数据,检查运行结果与预期结果的差异,从而判断系统是否存在缺陷的过程。
2、动态测试技术:
(1)黑盒测试:测试人员完全不考虑程序的内部逻辑结构和内部特征,只根据程序的需求规格说明书检查程序的功能是否符合其功能描述。主要用于系统测试阶段。
(2)白盒测试:利用被测程序内部如何工作的信息,允许测试人员对程序的内部逻辑结构和相关信息设计和选择测试,测试程序的逻辑路径。测试基于覆盖所有代码、分支、路径和条件。
(3)灰箱测试:根据被测程序的逻辑结构,从系统功能界面设计测试。通常作为黑盒测试的补充或者在发现黑盒有缺陷后,在分析原代码确认原因时使用。
3、测试阶段:
(1)单元测试:一个单元测试。在单元测试行为中,将每个独立的单元模块与系统的其他模块隔离开来进行测试,以检查每个程序模块是否实现了指定的功能。
(2)集成测试:是在单元测试的基础上,按照设计要求,将通过测试的单元模块组装成系统或子系统进行测试的活动。测试集中在模块和子系统之间接口的缺陷上。
(3)系统测试:通过集成测试软件,结合其运行环境、数据和用户,在实际或模拟实际环境中对系统进行全面测试。目的是通过与系统需求规格进行比较,找出软件和系统定义之间的差异。
(4)验收测试:是一种测试行为。它是面向用户的测试,由用户设计,用实际数据测试。
4、测试方法:
(1)功能测试:检查软件的功能是否满足规范的要求。
(2)性能测试:检查系统是否达到规定的性能指标要求。
5、测试实施机构的划分:
(1)开发人员测试(alpha test):开发人员通过测试和提供客观证据来验证软件实现是否满足规定的需求。它主要是系统交付给第三方进行测试或验收测试之前的一项活动。
(2)用户测试(beta testing):在用户的应用环境中,用测试软件来验证是否满足他们的预期要求。
(3)第三方测试(外包测试):测试团队在软件开发者和用户之间进行的测试行为。
6、其他测试概念:
(1)手动测试:测试人员执行测试,然后将实际结果与预期结果进行比较,并记录测试结果。
(2)自动化测试:通过回放记录或编写的自动化脚本来驱动系统运行的测试行为。
(3)回归测试(Regression test):在软件被修改并再次运行之前,执行程序所使用的测试以发现错误,从而测试缺陷是否再次出现的行为。
(4)冒烟测试:软件版本交付后,应对重要部分进行粗略测试,检查主要功能是否正确,然后进行以下测试。
软件测试中的注意事项
1、边界测试,测试用户输入框中值的数量和个数以及空时的情况。
2、非法测试,例如在输入数字的地方输入字母。
3、跟踪测试,跟踪一条数据的过程,保证数据的正确性。
4、你要在测试之初保证数据的正确性,然后从系统中找出各种bug。
5、接口测试,程序在接口处往往容易出错,所以不要不要在这个模块测试中掉以轻心。
6、代码重用测试。在开发过程中,有些模块的功能几乎相同。在重用代码时,程序员可能会忘记修改或不完全修改原始代码,从而导致错误。
7、紧急测试,测试服务器上可能发生的意外情况。
8、外部环境测试,有些系统在开发时依赖于另一个系统,当另一个系统出现问题时,这个系统受到影响。
9、缺陷验证:程序员修复Bug后,必须再次验证和测试。往往程序员只是修复了缺陷,而没有考虑到其他函数修改后可能再次出错。
10、做好BUG管理,做好测试记录。一天之后测试记录完成后,第二天按天重复测试你会发现未改正的错误。
11、错别字,错别字测试,如果系统里有不合适的有用词,我不我认为这件事不应该做。
12、系统兼容性测试,比如有些程序在IE6中可以正常运行,在IE5中就不行。有些程序可以在WIN2000上运行,但不能在WIN98上运行。就像一些非常特殊的用户使用系统一样,你很可能会发现bug。
13、用户的可用性测试,经常是用户用户的需求是不断变化的,有些变化是由用户引起的操作不方便。
标签:测试系统用户