测试理论

1.软件

1.1软件的定义

    一系列按照特定顺序组织的计算机数据和指令的集合。

    软件 = 数据 + 指令 + 文档

1.2根据应用场景分类

游戏型软件、媒体型软件、教育型软件、电商型软件等

1.3 根据软件架构分类

1.单机版软件:扫雷、红警、等

2.分布式软件:C/S架构软件:客户端需要安装专门软件,如QQ、微信等

                         B/S架构软件:客户端为浏览器,如百度hao123等

2. 软件测试的定义与原则

1.1 为什么需要软件测试

    1)一款软件从无到有会经历很多的开发阶段,并且由不同的人来参与开发,所以最终产出的软件功能会存在问题,因此为了保证软件的功能是可用的,所以必须要进行软件测试。

    2)当前的软件行业用户不仅仅只盯着软件的功能是否满足需求,还会对软件是否容易上手、执行效率等,一系列其他体验都有了更高的要求,所以这也需要我们对软件进行大量的测试。

1.2 软件测试的定义

    通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程

1.3 软件测试的原则

   1.测试显示软件存在缺陷

    2.穷尽测试是不可能的:有些功能是无法将所有测试情况逻辑出来的,任何的测试都有结束的时间。

    3.测试需要尽早介入:为了更好地发现和解决软件中的缺陷。

    4.缺陷集群性,2/8定律:核心功能占20%,非核心占80%,我们会集中测试20%的核心功能,发现缺陷的几率会高于80%,因此,遇到的缺陷都会集中20%功能模块里。

    5.杀虫剂悖伦:同样的一个测试用例不能重复执行多次,不然软件会对它产生免疫

    6.测试活动依赖于测试内容:某些测试需要依赖于特殊的环境

    7. 没有错误是好是谬论:任何软件都不可能是完美的

    8:程序员应避免检查自己的程序

    9:严格执行测试计划,排除测试的随意性

    10:应当对每一个测试结果做全面的检查

    11:妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便

    12:设计测试用例时,应当包括合理的输入数据和不合理的输入数据

    13:测试用例应由测试数据和与之对应的预期输出结果这两部分组成

3.开发与测试模型的介绍


1.1开发模型:

    1.瀑布模型

        优点:为项目提供了按阶段划分的检查点,当前一阶段完成后,只需要去关注后续阶段。

        缺点:各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。通过过多的强制完成日期和里程碑来跟踪各个项目阶段。瀑布模型的突出缺点是不适应用户需求的变化。

    2.快速原型模型

        在需求分析阶段对软件的需求进行初步而非完全的分析和定义,用户与开发者在过程中加强反馈,快速设计开发出软件系统可以运行的模型;

    3.增量模型

        把待开发的软件系统模块化,第1个增量往往是产品的核心,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件;

    4.敏捷开发

        先选择产品,再进行开会、对产品计划,然后对任务进行分工,分工后开始按照计划执行,然后就做出了新的功能模块,然后再进行演示、回顾,最后再领取新的任务,依次循环。

1.2 测试模型

         1. V模型:    

               V 模型的左边下降的是开发过程各阶段,与此相对应的是右边上升的部分,即各测试过程的各个阶段

          V模型流程分为:需求分析--概要设计--详细设计--编码--单元测试--集成测试--系统测试--验收测试

          V模型优缺点

              优点:测试V模型包含了底层测试又包含了高层测试,非常明确地标明了测试过程中存在的不同级 别,并且清楚地描述了这些测试阶段和开发各阶段的对应关系。

              缺点:当需求变更时将会导致返工量非常大,模型灵活性比较低。

        2.w模型(基于v模型的发展)

            相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题并进行修复。但W模型对于测试技术要求高,实践起来困难。

        3.X模型

           X 模型提倡探索性测试,指不进行事先计划的特殊类型的测试,这样可以帮助有经验的测试工程师发现测试计划之外更多的软件错误,避免把大量时间花费在编写测试文档上,导致真正用于测试的时间减少。公司可以根据自身的情况确定是否要做单元测试,还是直接做系统测试,测试应该是一个不断迭代的过程,直到封版发布。

        4.H模型

          在H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段;软件测试可以进行尽早的进行;软件测试可以根据被测物的不同而分层次进行。强调测试是独立的,只要测试准备完成,就可以执行测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值