测试基础理论 1.什么是软件测试? (1)寻找程序中的bug (2)验证程序功能的正确性 (3)证明程序不存在错误的过程 (4)验证软件是否满足客户的需求 (5)是为了发现错误而执行的过程 (6)对软件质量的一个度量 (7)使用人工或者自动的手段来测试某个系统的过程 目的:在于检验软件是否按照客户需求来完成的,弄清预期结果与实际运行之间的差距 2.一个优秀的测试具备的素养 (1)要有逆向思维,开发盖房子,测试拆房子,不走寻常路 (2)要有发散思维,从很多角度去测试,不仅仅局限于测试用例里面涉及的内容 (3)要对测试工作感兴趣 (4)善于怀疑,打破砂锅问到底,要对一个问题做到严谨严格站在客户的角度思考问题 (5)具备良好的文字能力,描述bug要尽量使用简单清晰的文字描述 (6)要具备良好的沟通能力,有问题要学会和开发进行沟通,we are family (7)要有良好的的学习能力,接受新知识的能力必须加强 (8)有责任感,对自己负责的模块必须尽心尽力。 3.测试的目的和原则 目的:验证软件有没有问题。 原则:以客户为中心,遵循软件测试的规范,流程,标准和要求。 4.需求 满足用户期望或符合正式文档规定的条件和权能,分为用户需求和软件需求。 ①用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成的任务,该需求一般比较简略。 ②软件需求:也就是功能需求,该需求会详细描述开发人员必须实现的软件功能。软件需求是测试人员进行测试工作的基本依据。 5.bug 与正确需求不一致或和用户的合理期望不一致。 ①当且仅当规格说明书是存在而且正确的时候,程序与规格说明之间的不匹配才是错误。 ②当程序没有实现其用户合理的预期功能要求时,就是软件错误。 6.测试用例 向被测程序输入的一组集合,包含元素:测试环境,测试数据,测试步骤,预期结果,测试版本 7.软件的生命周期 软件生命周期是指软件产品从开始设想到软件不在使用被摧毁的一个时期。分为6个阶段:需求分析,计划,设计,编码,测试,运行与维护 8.软件测试的生命周期 需求分析–>测试计划–>测试设计–>测试开发–>测试执行–>测试评估
9.Bug的级别 致命;严重;一般;提示
10.如何发现更多的Bug 1、软件测试同样存在二八原则,80%的故障集中于20%的模块,如果某部分问题较多,加强测试广度和深度! 2、开发人员也存在二八原则,80%的故障集中于20%的开发人员,如果某些开发人员的bug较多,加强他开发模块的测试广度和深度! 3、多进行逆向思维和发散性的思维 4、不要局限于用例和需求文档进行测试 5、尽早介入项目, 不要等到开发的差不多了再介入项目。
|