首页 > 其他分享 >软件测试小结

软件测试小结

时间:2023-02-14 15:02:39浏览次数:44  
标签:集成 黑盒 产品 白盒 代码 测试 小结 软件测试


郑重声明:本文纯属个人见解,不保证内容正确无误,仅供参考,欢迎拍砖。

参考文献:《软件测试原理与实践》 印度 Srinivasan Desikan ,Gopalaswamy Ramesh

写作目的: 3月份,群硕招测试实习生,去年参加中地数码的招聘会,都有测试的笔试题。据说,群硕测试笔试题是全英文的,
     题目也大多是关于测试的。大鹏展翅和最后的刺客 两位同学,都通过了笔试,只可惜面试,折戟沉沙啊!以前也
    没有专门看过测试方面的书籍,只有一点了解,因为心虚,所以从图书馆借了一本书,看了2个周,总结分享一下。
    另外,今天在教三2楼会议室签纸质协议时,又提到暑期培训时,也有测试方面的培训,所以了解测试是必须的啊。

软件测试:
    测试类型:(从更接近代码到更接近用户的顺序排列)
     a.白盒测试
        每个软件产品都是通过程序代码实现的,白盒测试是一种通过考察并测试实现外部功能的程序代码,测试代码 的外部           功能的一种方法。
     白盒测试分为静态测试和结构测试。
     静态测试只要求提供产品的源代码,不要求提供二进制代码或可执行程序。
     静态测试不在计算机上执行程序,而是由人阅读代码,以确定:
     1.代码是否能满足功能需求;
     2.代码是否与项目生存周期初期开发的设计一致;
      3.是否遗漏功能代码;
       4.代码是否恰当地处理错误。
      静态测试可以人工完成,也可以借助专门的工具。
      静态测试的方法:桌面检查、代码走查、代码审查。

    结构测试要考虑代码、代码的结构、内部设计以及设计是如何转换为代码的。
    结构测试需要采用一些预先设计的测试用例运行实际产品,考察尽可能多或有必要执行的代码。如果在运行测试用例时,测试用 

  例使程序执行给定部分的代码,那么这部分代码被认为是经过考察的。

    结构测试可以进一步分为单元/代码功能测试代码覆盖代码复杂度测试

    白盒测试中的挑战。白盒测试要求测试人员具有很好的程序代码和程序设计语言知识。这意味着开发人员要密切参与白盒测试。
     1.由于人的本性,开发人员不能发现自己代码中的缺陷。
      2.在现实中可能很难进行完全的代码测试。


b.黑盒测试     黑盒测试使用规格说明,不要求考察程序代码。黑盒测试以客户的视点进行,进行黑盒测试的测试工程师只知道输入值集和输        出,不知道这些输入是如何被转化为输出的。因此,黑盒测试要求有关被测试产品的功能知识,不一定了解系统的内部逻辑,也不  

    一定了解构建该产品所使用的程序设计语言。
   黑盒测试技术
     1.基于需求的测试
     确认软件系统的软件需求规格说明(SRS)给出的需求。
     2.正面测试和负面测试
     正面测试视图证明给定产品可以完成所期望完成的工作。
     负面测试展示当输入非预期输入时产品没有失败。
     3.边界值分析
     这是能够有效捕获出现在边界处的缺陷的一种测试方法。
     针对白盒测试讨论的边界值分析也适用于白盒测试。像数组、堆栈和队列这样的内部数据结构也需要检查边界或极限条件。如          果内部使用了链表结构,那么就应该彻底测试链表开始和结尾的行为。
     4.决策表
     5.等效类划分
     等级划分是一种软件测试技术,用于确定少量能够产生尽可能多的不同输出条件的有代表性的输入值。
     这种方法可以减少用于测试的输入、输出值的排列组合,从而提高覆盖率,降低测试工作量。
     6.基于状态的测试
     基于状态或图的测试对于以下情况非常有用:
     a.被测产品是一个语言处理器(例如编译器),语言的句法自动构造一个状态机,或一种有轨道图表示 的与上下文无关的语法。
     b.工作流建模,根据当前状态和合适的输入变量组合,执行具体的工作流,产生新的输出和新的状态。
     c.数据流建模,系统建模为一组数据流,从一个状态转换到另一个状态。

     7.兼容性测试
    兼容性测试确保产品能够在不同的基础设施组件上正常运行。
     8.用户文档测试
    用户文档包括所有手册、用户指南、安装指南、设置指南、产品说明等。
     9.领域测试
    白盒测试要求检查程序代码,黑盒测试执行测试时不需要检查程序代码,而要检查规格说明。
    领域测试可以看作是下一个测试,甚至不需要检查软件产品的规格说明,纯粹根据应用领域专门知识和经验测试产品。

这种测试方法要对软件所针对的日常业务活动有很好的理解,要求业务领域知识而不是
    软件规格说明包含了什么,或软件是怎样编写的。因此,领域测试可以看作是黑盒测试的扩展。

c.集成测试    系统可以由包括硬件和软件的多个组件或模块组成的。集成定义为组件之间的交互。测试模块之间以及与其他外部系统交互的集成叫做集    成测试。
    集成测试的顺序:自顶向下集成、自底向上集成、双向集成、系统集成。

d.系统测试和确认测试    系统测试是对完整集成后的系统进行测试的阶段,用来评价系统对具体需求规格说明的符合性。系统测试在单元、组件和集成测试阶段之    后进行。系统测试是既测试产品的功能也测试非功能的唯一测试阶段。
    对于功能测试,系统测试更关注实际客户对系统和解决方案的使用。
     对于非功能方面,系统测试有不同的测试类型(又叫做质量因素),包括:
    1.性能/负载测试
     2.可伸缩性测试
     3.可靠性测试
    4.压力测试
    5.互操作测试
    6.本地化测试

e.性能测试    性能测试的目的是保证产品:
    1.在给定的时间段内处理所需的事务数(吞吐率);
    2.可以在不同的负载条件下运行(可用性);
     3.对于不同的负载条件响应足够快(响应时间);
     4.有不错的资源(包括硬件的软件)投入回报,确定不同的负载条件产品所需的资源种类(能力策划)。

    性能测试方法包含以下步骤:
     1.收集需求
     2.编写测试用例
     3.自动化性能测试用例
    4.执行性能测试用例
     5.分析性能测试结果
    6.性能调谐
    7.性能基准测试
     8.向客户推荐合适的配置

f.回归测试    软件在不断修改。这些修改是必要的,因为要改正缺陷,要增强现有功能,要增加新的功能,任何时候做这种修改时,重要的是要保证:
     1.按照设计进行修改或补充;
    2.修改或补充不能对已经有效的内容造成破坏,而且继续有效。

g.国际化测试软件产品需要适应不同的国家和语言。

h.即兴测试即兴测试通过直觉、以前使用产品的经验、平台或技术方面的专业知识以及测试类似产品的经验,探索产品未被发现的区域。即兴测试一般用于发现计划测试没有发现的缺陷。即兴测试不使用任何测试用例技术,例如等价类划分、边界值分析。

  特殊的测试:     a.面向对象系统的测试

    b.可使用性与易获得性测试

    以用户视点确认产品的易用性、速度和美感的测试叫做可使用性测试。

测试阶段

a.单元测试 b.集成测试 c.系统测试 d.确认测试

标签:集成,黑盒,产品,白盒,代码,测试,小结,软件测试
From: https://blog.51cto.com/fansunion/6056873

相关文章

  • 月薪20k以上的软件测试工程师的必备知识点?全部拿走吧!
    我们都知道作为一个软件测试工程师,入门相对比较简单,但是要达到技术精通,甚至薪资能达到20k以上的话,那绝对需要对测试开发有一个系统的了解,以及对这些系统的知识能够熟练掌握......
  • 软件测试中的软件管理和测试流程
    软件测试管理正确的方式对公司的测试工作进行管理。而“正确的方式”就是在工作中不断摸索和改进后的管理方式,探索并发现这些方式也是测试管理工作的重要任务之一。......
  • 软件测试与软件调试的区别在哪里?
    1、目的不同软件测试的目的是发现错误,至于找出错误的原因和错误发生的地方不是软件测试的任务,而是调试的任务.调试的目的是为了证明程序的正确,因此它必须不断地排......
  • 如何提高软件测试的质量
    一、需求与测试需求方面1.应从产品人员手中获取需求,尽量要求产品人员对需求进行讲解(需求评审)2.我们要做测试需求分析,并应用相对应的方法论,还要进行需求串......
  • 软件测试|教你轻松解决pip安装下载超时问题
    前言pip是我们最常用的Python第三方库安装工具,不管是什么库,我们只需要一条pipinstall命令就能安装,但是现在经常出现一些安装超时的问题,这是为什么呢?因为pip默认是从Python......
  • 软件测试|程序猿必会的git操作(二)
    Git创建仓库上传代码相关操作上篇文章,我们讲了如何配置Git环境,注册Gitee账号,本篇文章我们讲解一下Fork和clone项目的操作。Fork项目在Gitee上也有部分优秀的开源项目,我们想......
  • 软件测试|一文教你flask路由配置
    flask路由配置Flask中通过使用route装饰器实现路由访问功能,其路由匹配URL规则基于Werkzeug的路由模块。该模块基于Apache及更早的HTTP服务器主张,希望保证优雅且唯一的URL。......
  • 软件测试|pyecharts绘制NBA球星得分能力对比图
    前言勒布朗-詹姆斯终于登顶了NBA历史总得分王,他花了20个赛季得了38390分,超越了天勾——贾巴尔老爷子,然后,我经常逛的论坛,就出现了很多讨论帖,讨论NBA球星们的得分能力孰强孰弱......
  • 类与对象(简单小结)
    类与对象类是一个模板:抽象,对象是一个具体的实例方法定义、调用!对应的引用引用类型:基本类型(8)对象是通过引用来操作的:栈--->堆属性:字段Field成员......
  • 软件测试|教你用skip灵活跳过用例
    前言日常工作中,我们难免会遇到本次执行不需要所有用例都跑一遍的情况,或者说,我们就是希望某些用例不执行,来看看报错。那除了我们手动去注释掉部分用例,还有没有其他的办法自动......