2020-10-25
初始软件测试——小白篇
前言
软件测试是伴随着软件的产生而由来的,早期因为软件规模比较小,复杂度比较低,早期开发人员将其进行叫作“调试”,目的是完成纠正软件中已经知道的故障,将经行处理,早期都是开发人员在做,因软件测试近几年比较缺乏,对测试工作的人员专业要求越来越高,所以将其开发中分离,对测试更专业的人员来其进行测试,我们叫作软件测试工程师。
1.什么是软件测试?
软件测试不仅仅是对测试被测对象,软件测试是一系列的活动,包括需求分析,提缺陷等!软件测试证明软件是否可用。是通过手工或自动化方式运程序来验证软件是否满足需求,验证实际结果和预期结果是否一致。
2.软件测试的主要工作
①检视代码、评审开发文档
②进行测试设计、写作测试文档(测试计划、测试方案、测试用例等)
③执行测试,发现软件缺陷,提交缺陷报告, 并确认缺陷最终得到了修正
④通过测试度量软件的质量
3,软件测试生命周期
我们大家都知道任何东西实物都是有一定的生命期的,而我们软件测试也不例外,也是有生命周期的,我们软件的生命周期包括(计划,需求分析,设计,编码,测试,验收,运行与维护)接下来我们对其进行解答!
一:计划
定义:①确定软件开发总目标
②给出软件的功能、性能、可靠性以及接口等方面的设想
③研究完成该项目的可行性,探讨问题解决方案
④对可供开发使用的资源、成本、可取得的效益和开发进度作出估计
⑤制定完成开发任务的实施计划
人员:产品经理,运营,开发经理,需求分析师,大boss,项目经理
输出:需求说明文档/原型图/RPD
二:需求分析
定义:对开发的软件及其详细的定义, 对开发的软件各功能进行详细分析,明确客户需求
人员:产品经理,开发人员,测试人员,UI设计师
形式:会议
输出:需求规格说明书(SRS)
三:设计
定义:①把需求规格说明书转变成软件结构和数据结构,形成系统架构
②概要设计说明书(HLD)设计阶段把各项需求转变成相应的体系架构
③详细设计说明书(LLD)对概要设计说明进行详细的说明
人员:架构师,程序员
输出:概要设计说明书(HHL)&详细设计说明书(LLD)
四:编码
定义:把软件设计转换成计算机可以接受的程序,即写成以某个程序 设计语言表示的源程序清单,使用RDBMS工具建立数据库
人员:程序员
输出:详细设计说明书(LLD)
五:测试
定义:在软件设计完成后将其进行严密的测试,以发现整个软件的设计过程中存在的问题 并且纠正。软件测试分为三个,单元测试,集成测试以及系统测试。
一:单元测试
①主要测试的是程序代码,为的是确保各个单元模快被正确的编译------一般是有开发来做
②单元测试也叫作白盒测试
③测试时依据是详细设计说明书
二:集成测试
①单元测试后,将其各个模块组和完整的体系,在集成测试主要是各个单元模快进行接口,数据是否正常
②单元测试也叫作灰盒测试
③测试是依据概要设计说明书
三:系统测试
①单元和集成做完后,我们对系统各个功能进行测试,以确保每个功能模快达需求规格说明书要求来以确保实际功能的正常使用。是依据测试人员编写的测试用例进行测试。
②系统测试也叫作黑合测试和功能测试
③测试输出主要依据需求规格说明书
六:验收
①验收分为正式验收和非正式验收
②用户拿到软件后,在使用现场,会根据需求规格说明书所有的要求现场做相应的验收。以确保软件达到符合效果------用户测试验收
七:运行与维护
①软件维护也是整个生命周期中持续最长的阶段,在软件投入使用后,由于各方面的原因,软件不能适应用户需求,以及要延续软件的使用寿命,就必须对其进行维护
②有运维人员来做
③上线,版本迭代,bug修复
4.软件研发相关要素
①铁三角:人员,过程,工具
②只有合适的人员借助合适的工具经过合适的过程才能研发出高质量的软件
③工具为人员和过程服务,起 辅助作用,起关键作用的是 人员和过程
5.软件的质量
6.软件模型
我们常见的软件研发模型,分别是瀑布模型,增量模型,螺旋模型,迭代模型,敏捷模型,H模型,W模型,V模型,RUP流程以及IPD流程
一:瀑布模型
①严格遵循预先计划的需求分析、设 计、编码、集成、测试、维护的步 骤顺序进行
②主要的问题:严格分级导致的自由度降低
开发成果输出过晚,风险高
后期需求的变化难以调整,代价 高昂
二:W模型
①确定,验证
②设计文档和执行顺序相反
③开发和测试并行
三:迭代模型
①迭代模型(iterative model)是由IBM公司提出的一种软件开发 方法,该方法包括一系列的增量的步骤或迭代,每个迭代都包括很 多的开发活动(需求、分析、设计、实现等)
②实现软件的每项功能反复求精的过程,是从模糊到清晰的开发 过程。每次迭代是从功能的深度和细化程度来划分的。 迭代模型最适合使用与前期需求不稳定,需求多变的项目
③缺点:周期长、成本高
④适合大项目、高风险项目,比如是航天飞机的控制系统时,迭代 的成本比项目失败的风险成本低得多,用这种方式明显有优势
四:敏捷模型
①人和交互重于过程和工具
②可以工作的软件重于求全而完备的文档
③客户协作重于合同谈判
④随时应对变化重于循规蹈矩
⑤因此敏捷方法更适用于较小的队伍,30,20,10人或者更少
⑥敏捷开发的核心原则:主张简单,拥抱变化,递增的变化,快速反应
7:软件缺陷的由来
①软件缺陷:既指静态存在于软件工作产品(文档,代码中的错误,也指软件运行时由于这些错误被 激发引起的和软件产品预期属性的偏离现象
②Bug:代码中的缺陷。有时也被泛指因软件产品内部的缺陷引起的软件产品最终运行时和预期属性的偏离
③软件错误、软件缺陷,Bug在实际工作中可以认为一样
8:缺陷的类型
①遗漏:规定的或预期的需求未体现在产品中(可能未将 规格说明全面实现,也可能需求分析阶段就遗漏了需求)
②错误:未将规格说明正确实现(可能设计错误、也可能 编码错误)
③额外的实现:规格说明并未规定的需求被纳入产品,得 到实现
9。软件测试何时介入?
①软件测试分为三个阶段:项目早期,项目中期,项目后期
②软件测试介入越早越好,对软件的质量越好