滴滴嗒嘀嗒,牵着我的手,跟我一起走。
软件测试方法是指测试软件的方法随着软件测试技术的不断发展测试方法也越来越多样化针对性更强选择合适的软件测试方法可以让我们事半功倍本文主要介绍的是软件测试方法和规范跟随小编一起来了解一下具体的测试流程及规范吧
测试代码和项目开发代码应该利用配置管理工具(如SVN)分开管理测试代码编写完成后存放在配置库中开发过程中可根据需要对自己编写代码进行测试
并且测试环境和开发环境应分隔开来以免相互影响便于缺陷的复现和定位在条件允许的情况下性能测试环境应和功能测试环境分开以免在性能测试过程中对功能测试造成影响
测试规范形成的前提是需要有有章可循的依据这些依据需要基于标准的项目文档常见的文档包括下面几种
软件需求说明书是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解使之成为整个项目组开展工作的基础包含硬件功能性能输入输出接口需求警示信息保密安全数据与数据库文档和法规的要求等等
软件需求说明书的作用在于便于用户开发人员进行理解和交流反映出用户问题的结构可以作为软件开发工作的基础和依据并作为确认测试和验收的依据
软件设计又划分为概要设计和详细设计概要设计是在用户提出的需求和软件的设计实现之间架起桥梁是将用户提出的目标和需求转换成具体界面设计解诀方案的重要阶段概设的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构设计软件结构的具体任务是将一个复杂系统按功能进行模块划分建立模块的层次结构及调用关系确定模块间的接口及人机交互的界面等从而设计建立一个目标系统的逻辑模型
而详细设计是软件工程中软件开发的一个步骤就是对概要设计的一个细化就是详细设计每个模块实现算法所需的局部结构在详细设计阶段主要是通过需求分析的结果设计出满足用户需求的软件系统产品软件设计说明对测试工作开展有很大影响没有软件设计说明很多问题将无法溯源测试准备的前期工作也是根据软件设计说明来制定的
页面原型是项目人员快速熟悉项目的最佳路径让开发人员和测试人员更直观的了解客户的需求和产品的实现方式业务逻辑帮助项目人员更快的理解用户需求业务逻辑用更直观具体的界面化方式来说明用户想要如何来实现他们需要的功能或者在需求不够明确设计说明书不够全面的情况下页面原型也是后期测试用例编写思想的重要根据
当项目中各个子系统间各个功能模块间有交互需要开发接口时接口文档会定义出参数传递参数返回的规则比如参数的名称参数的类型长度是否必填各个返回码所代表的含义当项目中有接口测试需求的时候此文档是很重要的测试依据
(1)静态测试不测试程序本身而直接寻找程序中可能存在的缺陷或评估代码品质的行为主要是在单元测试行为中对技术设计文件进行评核程序无法执行或需要对原始程序进行规范符合性检查时该使用这种策略
(2)动态测试运作被测程序输入测试资料检查运作结果与预期结果的差异从而判断系统中是否存在缺陷的过程
(1)黑箱测试测试人员完全不考虑程序内部的逻辑结构和内部特性只依据程序的需求规格说明书检查程序的功能是否符合它的功能性说明的测试方法主要是在系统测试阶段时采用
(2)白箱测试使用被测程序内部如何工作的资讯允许测试人员对程序内部逻辑结构及有关资讯来设计和选择测试案例对程序的逻辑路径进行测试其测试基于覆盖全部代码分枝路径条件
(3)灰箱测试基于被测试程序逻辑结构的基础上从系统功能接口上设计测试案例通常是作为黑箱测试的补充或在黑箱发现缺陷以后回到原始代码分析原因确认问题时采用
(1)单元测试为最小单位的测试在单元测试行为中各独立单元模块在与系统其他模块隔离的情况下进行测试检查每个程序模块是否实现了规定的功能
(2)整合测试是在单元测试的基础上将已经通过测试的单元模块按照设计要求组装成系统或子系统进行测试的活动测试着重在各模块各子系统之间界面上的缺陷
(3)系统测试透过整合测试的软件同其运作环境资料和使用者结合在一起在实际或模拟实际环境下对系统进行全面的测试目的在于通过与系统需求规格书进行比较发现软件与系统定义不符合的地方
(4)验收测试为最后一个测试行为它是以使用者为主的测试由使用者设计测试案例使用实际资料进行测试
(1)功能测试检查软件的功能是否符合规格说明书上的需求
(2)性能测试检察系统是否实现了规定的性能指标要求
(1)开发者测试(α测试)开发者透过检测和提供客观证据证实软件的实现是否满足规定的需求主要是在系统交付给第三方测试或验收测试之前进行的活动
(2)使用者测试(β测试)在使用者的应用环境下透过使用检测软件来验证是否符合自己预期的需求
(3)第三方测试(外包测试)软件发展方和使用者方之间的测试团队进行的测试行为
(1)人工测试由测试人员来执行测试案例然后根据实际的结果和预期的结果进行比较并记录测试结果
(2)自动化测试透过回放录制或编写的自动化脚本驱动系统运行的测试行为
(3)回归测试软件在修改以后再次运作之前为寻找错误而执行程序曾用过的测试案例以测试缺陷是否再次出现的行为
(4)冒烟测试软件版本交付后对其重要的部分先进行大概的测试检查主要功能是否正确再进行后面的测试
1边界测试测试用户输入框中的数值的最大数和最小数以及为空时的情况
2非法测试例如在输入数字的地方输入字母
3跟踪测试跟踪一条数据的流程保证数据的正确性
4在开始测试时应保证数据的正确性然后在从系统中找出各种BUG
5接口测试程序往往在接口的地方很容易发生错误要在此模块测试勿掉以轻心
6代码重用测试在开发过程中有些模块功能几乎相同程序员在重用代码时可能忘记在原有代码上修改或修改不全面而造成的错误
7突发事件测试服务器上可能发生意外情况的测试
8外界环境测试有些系统在开发时依赖于另外一个系统当另外一个系统发生错误时 这个系统所受到的影响的情况
9缺陷验证在程序员刚修复Bug之后的地方一定要在次验证测试往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误
10做好BUG管理工作认真做好测试记录在做完一天的测试记录之后第二天再根据第一天的测试记录重复测试你会发现有未修正的错误
11错字错词测试如果在系统中有用词不当的地方我想这是不应该的
12系统兼容测试例如有些程序在IE6能运行正常到IE5下不能运行有些程序在WIN2000下能运行而到WIN98却不能运行像一些很特别的用户去使用系统你很有可能发现BUG
13用户的易用性测试往往用户的需求是不断的变化的而其中一部份变化的原因是由用户操作上不方便引起的
外包软件测试就是指软件企业将软件项目中的全部或部分测试工作,交给提供软件外包测试服务的公司,由他们为软件进行专门的测试。这样做的好处有两个:一方面软件企业可以更好地专注核心竞争力业务,同时降低软件项目成本;另一方面,由第三方专业的测试公司进行测试,无论在技术上还是管理上,对提高软……阅读全文 >>
软件测试工程师是指理解产品的功能要求,并对其进行测试,检查软件有没有错误,决定软件是否具有稳定性,写出相应的测试规范和测试用例的专门工作人员。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。据介绍,按其级别和职位的不同,软件……阅读全文 >>
开源测试管理工具:Bugfree、Bugzilla、TestLink、mantis开源功能自动化测试工具:Watir、Selenium、MaxQ、WebInject开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、WebApplication……阅读全文 >>
就业竞争小人才供不应求让软件测试人员的就业竞争压力明显小于同类其它职业,有利于从业者的身心健康。另外,由于软件测试在我国起步较晚,独立设置测试部门、对测试人员有强烈需求的多为独具慧眼的大中型IT企业。软件测试人才不需要在小企业积累经验就能获得知名企业的入门通行证,工作起点高于同类……阅读全文 >>
1.保证产品质量2.测试计划、测试用例设计、测试执行、提交Bug、追踪Bug、验证Bug、验收测试3.黑盒:不需要知道内部逻辑,正确的输入有正确的结果,错误的输入系统给出相应的报错白盒:需要知道内部结构,强调代码覆盖率4.增删改查5.前提条件,测试环境,预期结果,实际结果,报告人……阅读全文 >>
一个有竞争力的测试人员要具有下面三个方面的素质:计算机专业技能计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业……阅读全文 >>
手机软件测试其实分很多种。比如说,集成版上的IT测试,对日的事业者测试,ST(系统)测试,还有协议测试(一般针对3G手机的多媒体画质和视频电话),底层的基站相关的测试,各种外联设备(电压,电流,模拟器)相关的测试。还就是FT,FT大多数翻译成场测。每一种测试的流程都是不同的。但是……阅读全文 >>
软件测试主要工作内容是验证(verification)和确认(validation),下面分别给出其概念:验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件以正确的方式来做了这个事件(Doitright)1.确定软件生存周期中的一个给定阶段……阅读全文 >>
哪些人适合学软件测试,多少钱?软件测试是非常适合年轻的人互联网技术。首先工作岗位多,软件测试是互联网企业“质量官”,生产软件产品的企业都需要软件测试工程师,一些使用软件产品的企业也需要软件测试工程师,在成都软件测试工程师常年紧缺,并且就业薪资非常可观,毕业的软件测试学生每年都是毕……阅读全文 >>
1.首先,测试的前途:1.1刚刚起步软件测试现在在国外非常热门,而在国内还刚刚起步.根据中国商业的发展状况来看,在一个领域还刚刚处于起步状态的时候,就进入这个领域,是个不错的选择.任何东西等大红大紫后再涉入,将是一个不明智的选择.1.2发展状况目前中国越来越多的重视软件测试这一行……阅读全文 >>