• 第十章


    软件测试

           软件测试是软件质量保证的一项关键活动。

           通过对需求规格说明、软件设计说明和程序代码等进行复审,以保证在软件产品交付前,尽可能发现软件中潜伏的问题。

    1.验证和确认

      (1)软件验证:是为了证明软件在生命周期的各个时期的逻辑协调性、完整性、正确性。

    (2)软件确认:目的:保证软件产品能符合其描述要求。

    2.软件测试基础;

             (1)基本原则:

                   1.尽早的和不断地进行软件测试;

                   2.程序员避免检查自己的程序;

                   3.在设计测试用例时,应当包括合理的以及不合理的输入条件;

                   4.测试用例应由测试输入数据和与之对应的预期结果组成;

                   5.充分注意测试中的群集现象;

                   6.严格执行测试计划,排除测试的随意性;

                   7.应当对每一个测试结果做全面检查;

                   8.妥善保存一切测试文档,为软件维护提供方便。

    (2)测试文档:描述要进行的软件测试以及测试结果。

            包括:1.测试计划2.测试规范3.测试用例4.缺陷报告。

    (3)软件测试信息流:

    1.软件配置:需求规格说明书、软件设计说明书、源程序等;

    2.测试配置:测试方案、测试用例、测试驱动程序等;

    3.测试工具:计算机辅助测试的有关工具。

    3.软件测试策略:

          (1)单元测试:

               1.模块接口测试:

                    是单元测试的基础,检查数据能否正确地通过模块。

               2.局部数据结构测试

                 保证临时存储在模块内的数据在程序执行过程中完整、正确。

               3.重要执行路径测试

                 在模块中应对每一条独立执行的路径进行测试;

                 单元测试的基本任务:保证模块中每条语句至少执行一次。

               4.错误处理测试:出错处理通路同样需要认真测试。

               5.边界条件测试:

                     采用边界值分析技术,针对边界值及其左右设计测试用例,有可能发现新的错误。

               6.单元测试方法

                  驱动模块作用:模拟被测模块的上级,调用模块;

                  桩模块作用:代替被测模块调用的模块,用以返回被测模块所需的信息。

    (2)集成测试:1.自顶向下2.自底向上。

    (3)确认测试:1.一系列黑盒测试2.配置复审。

    (4)系统测试:

             1.前期准备(软件工程师的工作):

              (1)为测试软件系统的输入信息,设计出错处理通路。

              (2)设计测试用例,模拟错误数据和软件界面可能发生的错误,记录测,试结果,为系统测试提供经验和帮助。

              (3)参与系统测试的规划和设计,保证软件测试的合理性。

             2.测试任务

               (1)恢复测试:测试其容错能力。

               (2)安全测试:对非法访问的防范能力。

               (3)强度测试:对异常情况的抵抗能力。

               (4)想能测试:需要软硬件的配套支持。

    (5)软件调试:1.简单的调试2.归纳法3.演绎法4.回溯法

    4.软件测试方法:

          (1)静态测试:人工分析检测和计算机辅助静态分析;

    (2)动态测试:通过运行程序发现错误;

    (3)黑盒测试:也称功能测试或数据驱动测试;

             在已知产品应具有的功能的情况下,通过测试来检测每个功能是否都能正常使用。

              方法:等价类划分、边界值分析、因—果图、错误推测。

              用于软件确认。

    (4)白盒测试:也称结果测试或逻辑驱动测试

           已知产品内部工作过程,通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序中的每条通路是否都能按预定要求正确工作。

    5.面向对象测试类型:

      1.模型测试2.类测试3.交互测试4.系统(子系统)测试5.验收测试6.发布测试

    图形化用户界面的应用程序大部分是以事件驱动的,GUI测试侧重以按钮为基本操作的单元测试。

    6.软件测试工具

          (1)功能测试工具(2)性能测试工具(3)缺陷管理工具(4)测试管理工具

         1.JUNIT   支持白盒测试

                 使用步骤:

                      (1)创建,从junit.framework.TestCase派生需要的test case 类。

    (2)编写测试方法,提供类似如下函数签名的测试方法:public void testXXX();

    (3)编译;

    (4)运行,启动junit test runner 运行该类。

    Junit提供了两个基本的test runner:

      图形界面:java.junit.swingui.TestRunner  XXXXX;

      字符界面:java.junit.textui.TestRunner  XXXXX;

    2.LoadRunner

         一种预测系统行为和性能的工业标准级负载测试工具。

         作用:能最大限度地缩短测试时间,优化性能以及加速应用系统的发布周期。

  • 相关阅读:
    jquery tmpl 详解
    freemarker 类型转换
    关于JQuery的绑定方法
    Jquery的extend方法
    Java高级特性之枚举
    runtime.getruntime.availableprocessors
    Log4J的使用
    JAVA关于一些变量的技巧
    Idea  调试代码
    java设计模式-State(状态)模式
  • 原文地址:https://www.cnblogs.com/yuntianblog/p/4289881.html
Copyright © 2020-2023  润新知