zoukankan      html  css  js  c++  java
  • 软件测试技术---测试的基本概念

    1.软件质量

    1)定义:
    反应软件实体 满足明确的和隐含的需求  的能力特性的综合。
    国家标准:
    (1)软件产品能满足 给定需要的性质和特性的总体  如:符合规格说明书
    (2)软件具有所期望的各种属性的组合程度
    (3)顾客和用户觉得软件满足其综合期望的程度
    (4)确定软件在使用过程中满足顾客预期要求的程度

    2)软件质量的属性
    软件能够符合各种精确的功能以及性能需求,符合文档化的开发标准,则这个软件质量就是高的。
    软件能够处理例外和异常的情况,具有足够的容错性和纠错能力,则这个软件质量就是高的。
    因此,软件的质量实际上是各种复杂属性的组合,定义一个软件的质量其实就是为这个软件定义一些列的质量属性。
    质量属性可以理解为软件能不能。。。有没有。。。

    人们通常用软件质量模型来描述软件的质量属性
    国家标准:
    软件质量模型分为外部质量模型,内部质量模型,使用质量模型
    外部质量模型:软件的功能型,可靠性,符合开发标准等(从用户的观点看软件有没有符合某些东西
    内部质量模型;软件的效率性等(从专业的角度看软件的执行效率怎样等
    使用质量模型:软件在规定的环境下进行规定的操纵是否能完成

    3)软件的度量
    软件生命周期大致可分为三个阶段(测试角度):定义软件质量的要求,实现软件质量的要求,测试软件是否达到了要求
    外部度量:在使用和测试软件的过程中,通过观察软件的行为,执行等导出软件的度量,从而评价软件的质量
    内部度量:在设计和编码的过程中,通过规格说明书等中间产品测量内部的质量特性

    4)影响软件质量的主要因素
    主要因素有三个:开发软件的组织,开发过程以及开发过程中使用的方法和技术



    2.软件测试的概念

    1)软件测试的定义:
    (1)在规定条件下运行系统或构件的过程,观察并记录结果做出评价
    (2)分析软件项目的过程,检测bug并评估软件项目的特性

    2)软件测试的目的:
    (1)测试的目的是证伪----发现程序中各种各样的错误
    (2)测试就是建立一种信心,确信程序能够按预期的设想运行---在规定的环境中运行软件的所有功能
    软件测试是为了保证软件质量
    一个好的测试用例在于它能发现至今未发现的错误
    一个成功的测试用例是发现了至今未发现的错误的测试

    3)软件测试的原则:
    (1)应当把  今早的和不断的进行软件测试 作为座右铭
    (2)测试用例应由输入数据和对应的预期输出数据组成
    (3)程序员应避免测试自己的程序
    (4)在设计测试用例时,应包括合理的和不合理的输入条件
    (5)充分注意测试中的集群现象
    (6)严格执行测试计划,排除测试的随意性
    (7)应当对每一个测试结果做全面的检查
    (8)妥善保管相关文档




    3.软件的缺陷和错误

    1)软件的缺陷(bug)主要有几种
    (1)没有实现规格说明书要求的内容
    (2)实现了规格说明书没有要求的内容
    (3)出现了规格说明书指明不应该出现的错误
    (4)没有实现规格说明书中没有明确指出但是应该实现的目标
    (5)软件难以理解,不易使用
    以开发一个计算器为例子:
    (1)说明书规定必须准确无误的实现加减乘除,而软件按下+号却反应或计算结果错误
    (2)说明书中没有要求实现取余运算,而软件实现了
    (3)说明书规定永远不会出现死机等情况,如果随意乱敲键盘软件无法接受输入的数字
    (4)计算器不会随着电池的电量出现计算结果偏差,说明书中虽然没有明确说明,但是这是默认的,也是必须实现的功能
    (5)布局位置不好或者难以看清等

    2)软件缺陷的级别:
    致命的
    严重的
    一般的
    微小的

    3)软件缺陷的状态:
    活动状态:问题未解决
    已修正状态:通过了单元测试等
    非活动状态:确认了缺陷不复存在
    保留状态:由第三方产品引起的缺陷
    不一致状态:不需要解决或者在下一版本将会解决

    4)软件缺陷的产生原因:
    技术问题,团队工作,软件本身等

    5)软件缺陷的构成:
    功能缺陷
    系统缺陷
    加工缺陷
    数据缺陷
    代码缺陷





    4.软件测试的心理学和经济学

    1)心理学
    软件测试更适合被看做一个视图发现程序中错误的破坏性的过程
    测试人员应该有良好的测试心态和明确的测试目标

    2)经济学
    (1)黑盒测试
    又称为数据驱动测试   输入/输出驱动测试
    测试目标与程序的内部机制无关
    测试数据完全来源于规格说明书
    (2)白盒测试
    又称逻辑驱动测试
    检测程序内部的逻辑结构等

    3)选择测试用例的时候要遵守的经济型准则
    根据程序的重要性和发生故障产生的后果来确定测试等级
    尽可能做到用少的测试用例来发现更多的错误




    5.软件质量保证
    质量保证是一个有组织,有计划的活动,他向人们提供证据说明程序正在按质量要求运行
    软件质量保证是通过对软件有计划的进行  各种评审和审核  来  验证和确认  软件是否符合标准

    软件的验证和确认:
    验证是用数据证明人们是否在争取的制造产品
    确认是用数据证明人们时候制造了正确的产品
  • 相关阅读:
    ping
    android Handler总结
    配置网络测试环境的批处理
    shell 的选项解析
    [转] Linux 中共享库的搜索
    SecureCRT 脚本一则(0720.Rev.1)
    使用 Wget 完成自动 Web 认证(推 portal)
    shell 选项解析之需求一:多路径自动补全
    getopts 的简单模拟(09.12 Rev)
    ThinkPHP框架使用心得三 RBAC权限控制(2)简要原理
  • 原文地址:https://www.cnblogs.com/jchubby/p/4429740.html
Copyright © 2011-2022 走看看