星空体育官网注册
集成解决方案 自研解决方案
首页 > 产品解决方案 > 自研解决方案
星空体育官网注册常见的二十种软件测试方法详解(史上最全)
发布时间:2024-04-21 12:48:39 来源:星空官方网站入口 作者:星空体育网站入口

  软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较的过程。

  通俗的来讲,“软件测试”就是通过软件测试人员验证软件是否满足用户的需求。最终交付的产品是否和用户本来的需求一致,如果不一致,需要找出不一样的点提交给开发员进行修复改善,测试人员在测试过程中找出的问题统称为“Bug”。

  软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

  所谓“(Bug)”,是指电脑系统的硬件、系统软件(如操作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。

  软件的Bug:狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等。仅就狭义概念而言,软件出现Bug的原因有:

  任何软件在发布时都不可能是绝对的零Bug。在软件过程管理中通行的CMM(能力成熟度模型)中规定的软件质量标准是(Bug个数/千行源码):

  当且仅当,程序规格说明书(软件需求)存在并且合理,如果软件功能和软件规格说明书不相符合,我们就说是软件错误。当软件需求不存在,用户需求存在并且合理,软件功能和用户功能不相符合,就说明是软件错误;软件测试的阶段:整个软件开发的生命周期,需求阶段介入 验证需求的合理性和正确性。

  目的:软件测试就是验证软件是否实现了它应该实现的功能(需求)软件调试的目的是软件开发人员验证软件是否实现了“开发”想让软件实现的功能。

  用户的期望和满足合同(文档,规则,标准)的规定所需要的条件和权限。软件需求是用户需求转换而来的,它是用户需求的细化,是用户需求的具体实现细节和规范。

  用户需求比较粗略,直接实现会有困难,因为没有细节,所以需要软件需求把用户需求细节实现和规范,把用户需求变成一个具体的可实现的过程文档。

  验证需求,保证需求正确可实现,细化需求,从需求中提炼出一个一个的测试项。以用户登陆为例,阐述下整个过程:

  测试用例就是向被测试系统发起的一组集合,包含测试环境,测试数据,测试步骤,预期结果,(重要性、优先级、操作方式、标题等)

  优点:衡量需求的覆盖率(测试用例和需求对比):复用性,借鉴意义; 可以用于回归测试; 防止遗漏测试需求。

  瀑布模型在软件测试工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次,因此是线性顺序的软件开发模式。

  特点:阶段性强(强调开发的阶段性、强调早期计划及需求调查、强调产品测试),每一个阶段比较独立; 看重前期的需求分析和后期的测试

  缺点:易串行有去无回,测试介入晚,导致项目前期的问题到后面才发现,失去了错误及时修正的机会、不支持项目频繁变动

  特点:强调每一个迭代的测试质量和风险分析。适合风险比较大并且整个项目也比较庞大,每一个迭代做风险分析,讨论项目是否有价值继续。

  缺点:风险管控人力物力投入很多,风险分析要求很高,需要投入专业人员,导致时间,项目支出成本费用比较高。风险对比对测试人员和开发人员要求比较高。

  注重和客户的沟通,整个研发团队有效沟通,注重产品的质量,注重产品规定的交付日期;(拥抱变化,客户可以在项目开发过程中改变需求)

  产品经理需求整理成userstory,形成product backlog,会议上讨论userstory的重要性排版,决定本期迭代要开发的userstory;

  研发团队确认迭代任务,分解userstory,将userstory分解成为一个个的任务,确定任务完成的时间,具体的人员等;

  (重点在于总结和解决出现的问题,以及了解整个研发的进展)解决三个问题:昨天完成了什么?解决了什么问题?今天的计划;

  给客户和Boss演示产品研发的成果,PO整理后形成新的userstory,放到下一次的迭代中;

  特点:每一个阶段独立性强;左边每一个阶段都是右边测试阶段的依据;和右边阶段每一个测试阶段一一对应。

  缺点:编码后才进行测试;串行的过程,测试是在编码后有的,测试的介入比较晚导致前期的错误后期才发现,后期测试发现时,已经失去了错误及时纠正的最好时机。

  特点:每一阶段独立性强;测试一开始就介入;可以保证前期的问题及时发现和纠正;测试和开发并行。

  缺点:每一阶段都是串行的过程;一个阶段完了之后就进行下一个阶段。不适合需求频繁变更的项目,不支持敏捷(拥抱变化)开发。

  Chrome浏览器 版本号96.0.4664.45(因为在不同测试环境问题出现的情况也不一样)

  注册成功注册失败,提示“密码长度不符合规则”BUG的级别,附件(截图,错误日志)BUG产生时的log日志,错误截图等附件:

  提问:当测试员发现一个Bug提交给开发员后修改,开发员通知测试员验证,但是测试员又复现了这个Bug,是哪些可能的原因引起的?

  测试环境不一样;开发人员理解不到位,没有修改成功;代码在开发人员修改之后未进行远程提交代码,测试人员用旧版本(有问题的代码)进行测试

  答:一名优秀的软件测试人员应具备良好的沟通能力,编程能力,学习能力,自动化开发能力,编写测试用例的能力。

  我认为做一个十分优秀的测试人员也是非常不容易的;我学了点关于开发的技能, 能在以后作为一个专业的测试人员与开发人员沟通过程中会更容易点。其次现在一个软件产品的问世,也离不开软件测试,在平常的工作学习生涯中,我具有强烈的责任感和压力并且善于发现探索新事物,对日后的职业生涯肯定会有很大的促进作用。我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。需要的点击这条免费领取!!


星空体育官网注册
上一篇:中国银行取得业务系统测试工具专利提高了自动化测试脚 下一篇:脑声常谈丨啮齿动物被动步态分析测试方法