软件测试环节中,我们了解的东西在这里
共 2453字,需浏览 5分钟
·
2019-11-15 17:23
IT行业目前是最受欢迎的行业之一,作为其中最重要的软件开发当然避免不了我们要时刻监测他的问题质量等,这时候就需要我们的软件测试工程师。
软件测试工程师指:理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性,写出相应的测试规范和测试用例的专门工作人员。简言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。
作为一个测试人员,正常的需求在产出的时候,产品是要分析这个需求的价值,影响范围和实现代价的。可是现在很多情况是,需求来了就组织评审,然后开发测试与上线。产品主导型的开发模式非常常见,作为测试我们无法主导需求和项目。
在需求评审的时候,作为一个测试人员必须了解这次需求的内容,影响到哪些现有的功能,涉及到的操作系统或是类别等,然后准确的评估出工作量,防止因评估不足造成后期测试不充分。
再者,关注开发和产品的讨论,如果开发说哪一部分比较难实现,最后如何实现?其中做出的变动和难点就是测试的时候必须重点关注的部分。不能因为这些暂时和你没有关系就不去关注,后期会带来麻烦。
在需求评审结束后,要求产品更新此次评审过程中的所有改动部分,同时给出方案确保产品的任何改动都及时更新。
测试软件原则
1、测试人员应该尽早介入,越早发现缺陷,修复缺陷的成本越低,缺陷具有集群性,测试过程中80%的错误分布在20%的模块上。
2、站在用户的角度去体验产品,所有的测试都应该追溯到用户的需求。
3、设计测试用例时,要考虑合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,100%的覆盖需求。
4、完全测试是不可能的,测试需终止,运用风险分析和不同系统功能的测试优先级,里确定测试的关注点
程序员避免检查自己的程序,除单元测试外。开发对自己的作品在思维上具有局限性;交给第三方或专业测试,利用各种测试技术、测试经验和对Bug的敏感性,提高软件质量
5、制定严格的测试计划,并妥善保存测试过程中的所有文档,对错误结果要进行一个确认过程
软件的生命周期
定义:软件的产生直到报废或停止使用的过程
阶段:
一、问题定义与规划
主要确认软件开发的目的及可行性,制定开发计划。
二、需求分析
在确定软件开发可行的情况下,对软件的需要实现的各项功能进行详细分析,明确客户的需求,输出需求规格说明书(原型图)。
三、软件设计
把需求分析的结果转换为软件结构和数据结构,形成系统架构。
概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据的实现等。
详细设计:对概要设计的各个功能模块进行深入分析,对各个模块组合进行分析等。
这一阶段要求达到伪代码级别,已经把程序的具体实现的功能,现象等描述出来,其中包括数据库的设计说明。
四、软件编码
按照设计好的详细模块功能表,编程人员编写出计算机可运行的程序代码。
五、软件测试
在软件设计完成后就要经过严密的测试,以发现软件在整个过程中存在的问题并加以纠正。测试方法主要有白盒测试和黑盒测试。
单元测试:主要测试程序代码,为的是保证各个单元模块被正确的编译,比如有具体到模块的测试,也有具体到类、函数、方法的测试等,一般由开发人员完成
集成测试:单元测试后,将各个单元组成完成的体系,测试单元之间的接口是否正确,数据能否正常传递。
系统测试:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件的性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。—— 根据测试用例完整的测试
回归测试:主要是用户在拿到软件的时候,在使用现场根据前面所提到的需求以及规格说明书来做相应的测试,以确定软件达到预期效果。—— 用户对软件进行验收
六、运行维护
软件的维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应客户的需求。要延续软件的使用寿命,就必须对软件进行维护。
软件的维护主要包括纠错性维护和改进性维护两个方面。
软件测试模型
瀑布模型
瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来
V模型
RAD(Rap Application Development,快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件测试的V模型。
优点:明确地标注了测试过程中存在的不同测试类型;清楚的描述了这些测试阶段和开发过程期间个阶段的对应关系;
缺点:不适合需求变化频繁的程序;发现错误时间较晚; 仅仅把测试作为在编码之后的一个阶段,未在需求阶段就进入测试;
W模型
目的:为解决V模型的缺陷而产生,增加了软件个开发阶段中应同步进行的验证的确认活动
特点:测试的对象不仅是程序,需求、设计等同样要测试,开发与测试同步
优点:可以尽早的发现错误,降低风险,减少成本,提高质量
缺点:不能适应用户需求变化频繁的项目;需求、设计、编码等活动被视为串型的测试和开发活动也保持这一种线性的前后关系,上一阶段完全结束,才可以正式开始下一个阶段工作 ;无法支持敏捷开发模式;对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临的困惑