测试管理体系之软件测试的定义
白羽 2018-07-23 来源 :网络 阅读 737 评论 0

摘要:本文将带你了解测试管理体系之软件测试的定义,希望本文对大家学测试管理有所帮助。

软件测试的定义:通过人工或自动的手段,对被测对象进行检测的活动,目的在于发现被测对象是否实现用户的需求,或者弄清实际结果与预期结果之间的差异软件包括三个方面:源代码,用户手册以及配置数据测试的目的:1发现被测对象与用户需求之间的差异(找缺陷)2通过测试活动发现并解决缺陷,增加对被测软件质量的信心,确保产品完成了它所承诺会公布的功能3确保产品满足了性能和效率的需求4群产品是健壮的和适应用户环境的5通过测试活动获取被测对象的质量信息,为决策提供数据依据6通过测试活动预防缺陷,从而降低项目或产品的风险测试原则:1测试证明软件是存在缺陷的2不可能进行穷尽测试(涵盖所有可能的测试)3测试应该尽早启动,尽早介入 ,及早发现问题,降低风险4缺陷存在群集现象5杀虫剂悖论(发现缺陷第一次用一种方法解决,第二次发现这个缺陷同样的方法可能不会再有效果)6不同的测试活动依赖不同的测试背景7不存在缺陷的谬论(不可能十全十美)8必须彻底检查每个测试结果测试和调试的区别:测试发现软件错误并不修改错误,调试确定程序中错误发生的确切位置,对程序(设计,编码)进行修改,排除错误测试需要测试人员和程序员参与,调试只需要程序员参与测试贯穿整个软件的生命周期,调试主要在开发阶段进行软件测试的过程:1测试计划设计{①测试目标,②测试的总体概述【测试背景,测试范围】,③测试计划【测试资源需求(操作系统资源,数据库,服务器(服务器需要版本号))硬件资源(硬件服务器,手机,平板,测试设备等)其他设备资源,人员的需求,组织形式,测试对象,需求跟踪,测试通过/失败的标准,测试挂起/恢复的条件,测试风险防范,测试任务安排】 ④应交付的测试工作产品⑤资源的分配【培训需求,测试工具开发】}2测试需求分析:功能需求,性能需求,外部接触需求,安全性需求兼容性需求等1分析需求来源{1求规格说明书2开发需求3继承性需求4行业竞品分析5经验库}2需求分类{1功能性需求2性能需求3外部接口需求[1GUI   2外部应用程序接口需求]4根据软件质量特性划分需求[1安全性 2效率 可移植 4可维护]} 3测试策略设计:测试方案:1概述(方案目的是什么,初始对象是什么,项目背景项目范围是什么)                2测试计划需求(测试计划需求同上)                3软件体系结构(功能结构图,业务流程图,主广图)然后是系统测试用例(系统被测对象,使用什么测试方法)                 回归测试的一些方式方法:1完全回归,所有测试用例全部执行                                                        2选择性回归,选择当前被影响的测试点回归4测试规程设计:            1测试需求变更控制流程            2测试用例变更控制流程            3测试环境搭建流程            4缺陷管理流程5测试用例设计6配置测试环境分平台:Windows,Linux,Unix分架构:J2EE(JAVA平台+JSP)              .NET(APSX),LAMP(PHP)分Web服务器:IIS,apache,tomcat,resin,jboss,weblogic,websphere分数据库:SQL server,MYSQL,Oracle,DB2,SYBASE7执行测试用例:①预测试阶段: (1)冒烟测试:①利用一小段时间,快速的对被测对象实施测试活动②验证被测对象能能否完成核心功能或高风险功能能否正常工作(2)预测试结束后需做转系统测试评审】(3)预测试用例来源于系统测试用例设计阶段的高级别的用例②系统测试:经过预测试后开展系统测试测试执行过程中发现缺陷,则及时记录缺陷,根据部门或团队的缺陷管理流程进行缺陷提交、跟踪处理软件测试人员必备的心理素质:•责任心•沟通能力•团队合作精神•耐心、细心、信心•时时保持怀疑态度,并且有缺陷预防的意识。(比如错误猜测的设计方法,比如影院名有多个,普通名称,简称,外部名称,内部名称,开发另外模块的开发不一定了解这块的多种情况)•具备一定的编程经验(更容易理解和设计一些针对用例,比如查看和编辑,新建是分别三个方法处理或同一方法处理,可以编写复杂场景的自动化用例,可以进行一些代码的检查)软件测试的分类:1、按测试策略分类黑盒/白盒测试、动态/静态测试、手工/自动测试2、按测试阶段分类单元测试、集成测试、(确认测试)、系统测试、验收测试3、按测试方法分类功能测试、性能测试、压力测试、负载测试、易用性测试、安装测试、界面测试、配置测试、文档测试、兼容性测试、安全性测试、恢复测试单元测试:又称模块测试,是最小单位的测试,单元测试是在系统开发过程中进行的测试活动。目的是确保每个模块能正常工作。集成测试:又称综合测试,是在单元测试的基础上将通过测试的单元模块按照设计要求组装成系统或子系统,再进行测试。目的在于检验与软件设计相关的程序结构问题。确认测试:软件在由集成测试进入系统测试之前,需要对软件是否可以进入系统测试进行评估过程的测试。系统测试:是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机的硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际的运行环境下,对计算机系统进行全面的功能覆盖。验收测试:是软件产品交付用户正式使用前的最后一头工序,是以用户为主的测试。目的是向客户和承包人证明产品是可靠的。黑盒测试:又称功能测试、数据驱动测试或基于规格说明书的测试。白盒测试:又称结构测试、逻辑驱动测试或基于程序本身的测试。冒烟测试:对应用程序关键的功能进行的测试。回归测试:对某些已经进行过的测试的某些子集再重新进行一遍,已保证上述改变不会传播无法预料的副作用或引发的问题。Alpha测试1:由用户在开发环境下执行的测试活动,开发者在测试人员身边,发现问题及时沟通解决2:在受控环境下执行测试Beta测试1:开发者不在测试人员身边,发现问题由专人统一收集,再由研发人员进行修改2:在不受控环境下执行测试手工测试:测试人员执行测试用例,确认用例的执行结果和预期结果的差别自动化测试:把人为驱动的测试行为转化为机器执行的一种过程关于单元测试:1单元测试多采用白盒测试技术(需要开发方面的知识)静态审核代码动态单元测试单元测试的意义:单元测试可以在产品开发阶段发现大量的缺陷,这个时候修改的成本也比较低,如果是产品开发的后期阶段,缺陷的发现并修改更加困难,并会消耗大量的时间和开发费用无论什么时候做出修改都要进行回归测试经过单元测试的系统,系统集成过程将会大大简化单元测试是针对被测系统最下的组成单元实施的此时活动,一般是函数,也可能是最小的功能单元集成测试:针对组件/单元与组件/单元之间的接口实施的测试活动,验证接口设计是否与设计相符分三种集成:1:函数见的集成2:模块间的集成3:子系统间集成评审:在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进软件质量:软件质量:软件产品满足用户或规定显性需求或隐性需求的程度,满足度越高,软件质量越高内部质量:软件内部设置以及静态测试是否是合格的过程质量:关注软件的整个生产流程是否规范是否合理外部质量:软件产品本身功能性能等的表现使用质量:软件使用过程中易用性满意度的表现质量特性:功能性:定义:软件在制定条件下使用时,满足用户明确和隐含需求的功能的能力适合性:软件为指定的任务和用户目标提供一组合适功能的能力准确性:软件提供具有所需精确度的正确或相符合结果或效果的能力互操作性:软件为一个或更多的规定系统进行交互的能力保密安全性:软件保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝授权人员或系统对他们的访问功能性依从性:软件遵循与功能性相关的标准,约定或法规以及类似规定的能力,这些标准要考虑国际标准、国家标准、行业标准、企业内部规范等等可靠性:  定义:软件在指定条件下使用,维持规定性能级别的能力成熟性:软件为避免由软件中错误而导致失效的能力容错性:在软件出现故障或违反指定接口的情况下,软件维持规定的性能级别的能力易恢复性:在失效发生的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力可靠性依从性:软件遵循与可靠性相关的标准、约定或法规的能力易用性:定义:在指定条件下使用时,软件被理解、学习、使用和吸引用户的能力易理解性:软件使用户能理解软件是否合适,以及如何能将软件用于特定的任务和使用环境的能力易学性:软件使用户能学习其应用的能力易操作性:软件使用户操作和控制它的能力吸引性:软件吸引用户的能力易用性依从性:软件遵循与易用性相关的标准、约定、风格指南或法规的能力。这些标准要考虑国际标准,国家标准、行业标准以及企业内部规范等等效率:定义:在规定条件下,相对于所用资源的数量、软件可提供适当性能的能力时间特性:在规定条件下,软件执行其功能时,提供适当的响应和处理时间以及吞吐率的能力,即完成用户某个功能需要的响应时间资源利用性:在规定条件下,软件执行其功能时,使用合适的资源数量和类别的能力效率依从性:软件遵循与效率相关的标准或约定的能力可移植:定义:软件可被修改的能力。修改可能包括修正,改进或软件对需求、环境和功能方面的改进。易分析性:软件诊断软件中的缺陷、失效原因或识别待修改部分的能力易改变性:软件指定的修改可以被实现的能力稳定性:软件避免由软件修改而造成意外结果的能力易测试性:软件使已修改软件能被确认的能力维护性依从性:软件遵循与维护性相关的标准或约定的能力可维护:定义:软件从一种环境迁移到另外一种环境的能力适应性:软件无需采用有别于考虑该软件的目的而准备的活动或手段,就可能适应不同指定环境的能力易安装性:软件在制定环境中被安装的能力共存性:软件在公共环境中与其分享公共资源的其他独立软件共存的能力易替换性:软件在同样环境下,替代另一个相同用途的指定软件产品的能力可移植性依从性:软件遵循与可移植性相关的标准或约定的能力软件质量与软件过程的关系:1软件过程:软件生命周期中的活动,一般包括软件需求分析、软件设计、软件编码、软件测试、交付、安装和软件维护。2软件过程的优劣决定了软件质量的高低,好的过程是高效高质量的前提。人员和过程是决定软件质量的关键因素,高质量的人员和好的过程应该得到好的产品。3在软件过程中注意把握测试的对象4软件测试在软件生存周期中的位置5软件测试在软件生存周期中占有非常重要的位置,是对软件规格说明、设计和编码的最后终审。6软件系统的开发包括一系列生产活动,其中由人带来的错误因素非常多。错误可能出现在程序的最初产品设计阶段,其实目标可能是错误的或描述不完整,也可能在后期的设计和开发阶段,因为人们不能完好无缺地工作和交流,软件开发过程中必须伴有质量保证活动。7软件测试是软件质量保证的重要手段,是规约、设计和编码的最终检查测试工作流程:1、产品人员设计完原型和文档后,召开需求评审会,参会人员有开发,测试,产品。需求评审后之后,会产生一个完善之后的原型和需求文档。2、测试组负责人需要依据需求文档,项目周期、项目特点、工具、人员安排制定测试计划。3、测试人员就开始写测试用例(需要有冒烟测试用例和普通的测试用例),在写用例过程中会产生一些疑问,要及时和产品人员确认清楚,并要求他们回归需求文档。(开发就开始概要设计和编码)。4、测试人员完成用例后,组织测试用例评审。参与人员有开发,测试,产品。5、等待开发提交测试版本,提交后优先执行冒烟测试。冒烟测试的结果,需要邮件周知相关人,开发,测试,产品,其中重要的是开发领导,测试领导和产品。冒烟不通过等待开发重新提交版本,冒烟通过了进入执行用例进行测试阶段。6、测试阶段会发现一些问题,比如需求定义不明确,业务逻辑有冲突,要和相关人员沟通并定义清晰,得到结论后必须要求产品人员更新文档。7、每个人负责的模块测试结束后,小组内部要进行交叉测试(此时会进行一些性能测试)。8、测试通过后提交产品验收。产品验收期间协助产品验收。9、产品验收完毕后,项目部署仿真环境。此时需要线上的账号,所以一般也是产品和业务人员验收为主,各个公司情况不同,有些会给测试人员分配账号,进行基本流程的测试(细节视公司情况而定)。10、仿真环境ok了,部署线上。11、有些公司从测试环境提交验收的时间点开始,会要求写一些操作手册之类的文档,一些测试的报告,比如bug统计,bug的覆盖。    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试管理频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程