• 以淘宝为例的系统六种属性


    软件的可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。James Bach 这样描述可测试性:软件可测试性就是一个计算机程序能够被测试的容易程度。

    以下是一个常见的软件可测试性检查表:

    · 可操作性-运行地越好,被测试的效率越高;

    · 可观察性-所看见的,就是所测试的;

    · 可控制性-对软件的控制越好,测试越能够被自动执行与优化;

    · 可分解性-通过控制测试范围,能够更好地分解问题,执行更灵巧的再测试;

    · 简单性-需要测试的内容越少,测试的速度越快;

    · 稳定性-改变越少,对测试的破坏越小;

    · 易理解性-得到的信息越多,进行的测试越灵巧;

    一.软件测试有几个过程?分别由谁进行测试?

    和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段:

    开发人员进行:单元测试,集成测试.

    测试部门进行:系统测试,验收测试.

    客户进行:测试。

    单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。

    集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。

    系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。

    验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试。

    如何提高软件的可测试性?

    (https://www.cnblogs.com/lane_cn/articles/68871.html)

    首先为什么一些代码难以测试 

    在进行单元测试的时候,会发现程序中某些部分很难进行自动测试,比如耦合程度比较高的类、用户界面、数据库、Servlets和EJB类、等等。本文主要说明程序中这些“难以测试”的部分应该采用什么样的方式去测试。是什么因素使得这些代码难以测试呢?首先是不知道测什么,其次是一些代码之间互相依赖严重,在测试环境中要建立起这些类的实例都很难。 

    1.进行类设计时应尽量满足高内聚,低耦合的要求。

    2.在设计时充分考虑类之间的联系,类与类之间的关系要基于接口,而不是基于实现。这样的方式也会为程序带来最大的灵活性。 一般说来,下列模块都应该通过接口的方式进行调用: 硬件; 数据库; 还没有完成的类。

    4.程序设计一般遵循层次原则,一般说来,上层的程序可以调用下层的程序,同层之间也可能存在互相的调用。 

    3.一般说来,程序应该尽力减少UI和UI模块之间的互相调用。

  • 相关阅读:
    如何使得事务使用同一个连接对象Connection呢?
    快速使用上咱的ideal的快捷键小技巧
    委托模式的理解:
    克隆、深拷贝与浅拷贝区别
    mysql存储过程与事务
    sql异常处理以及sql异常处理优先级
    Mysql 遇到神奇的“本次本客户端效现象”,数据库并未被改变 + 神奇“卡顿现象”
    网络传输时既有管道流(PipedInputStream 与 PipedOutStream)又有序列化对象、反序列化对象(ObjectOutputStream与 ObjectInputStream),还有在集合中、流中都有的身影的Properties究竟是何方神物?我们该怎么选择呢?
    数据库设计的三大范式
    实体类(VO,DO,DTO,PO)的划分
  • 原文地址:https://www.cnblogs.com/877612838zzx/p/10550120.html
Copyright © 2020-2023  润新知