• 功能测试-测试方法


    首先先了解下故障模型的概念。

    故障模型:

    --设计测试用例时有太多的单个输入变量、多个输入变量的组合,优秀的软件测试人员不会依靠运气,他们有着丰富的经验和直觉,可以从中找到哪些是要进行测试的,哪些不需要测试,哪些操作可能会引起软件失效。我们把这些测试人员的经验和直觉尽量归纳和固化,形成一些故障模型(Fualt Model)。

    --为软件测试工程师明敏锐发现缺陷提供帮助

    方法一:输入非法数据

    如何发现这类问题

    --举例:假设"软件测试工程师管理系统"中每个工程师的信息单独使用一个文件进行保存,保存文件名为工程师姓名;即如果工程师姓名为张三,则保存的该工程师信息的文件为"张三.txt",则添加工程师测试时要注意工程师姓名输入的隐含问题。

       

    注意

    --检查错误信息,保证正确、易懂!

    --举例:错误信息:Error 5-unkown data!  

    方法二:输入默认值

    此类缺陷产生原因

    --定义变量时未赋初值

    --赋初值不正确

    --再次赋初值后对程序其他部分的影响

    如何发现这类问题

     --创建默认值是相当难的程序设计工作。开发人员要确保变量在进入循环或进行函数调用之前就做了初始化。如果没做初始化,使用这样的变量将产生严重的后果。确定应用软件中使用的数据有一些基本原则:

                                       1、寻找选项按钮、配置面板、安装屏幕等。这种屏幕上显示的数据常常在应用程序的许多地方用到。

                 2、查阅源代码的数据声明部分。(如果可以得到)

                 3、确定了要测试的数据,可以通过以下操作来强制使用或不使用默认值:  

                                         

    方法三:输入特殊字符集

    方法四:输入使缓冲区溢出的数据

      

    方法五:输入产生错误的合法数据组合 

    用户接口输入测试小结

    --输入非法数据

    --输入默认值

    --输入特殊字符

    --输入使缓冲区溢出的数据

    --输入产生错误的合法数据组合

    方法六:同一个输入产生各种可能输出

    方法七:产生不符合业务规则的无效输出

    如何发现这类问题 

    --我们在测试的时候必须了解软件的预期目标,这样在检查输出结果的时候才可以知道是正确的还是错误的。我们可以通过软件的预期目标列举出所有无效的输出,然后逐一测试。例如,如果测试日历程序并了解了一些函数的受限范围,就可以设计一些输入值以强制函数产生无效输出。如果不了解该函数,甚至会将错误结果当作正确结果。

    --如同对输入域进行分析以确定测试输入一样,执行该测试我们需要对输出进行分析

    --测试人员应该尽可能多地学习所涉及问题的领域。例如对财务软件进行测试,就要学习财务的相关知识。对计算器进行测试就要重新温习数学知识。

    --有时在列举出了无效输出后,也很难知道哪些输入组合能强制这些输出产生。这时,测试人员必须先要确定哪些输入与输出有关,然后用产生了意外结果的输入组合进行测试,测试过程中要注意输入执行的顺序,用不同的顺序执行可能得到不同的结果。如果不能强制无效的输出产生,那说明软件没有这方面的缺陷。

    --在验证测试结果时,要重点查看输出结果的正确性,因为这种测试常使软件产生看似正确的结果,必须小心验证才行。

     测试方法小结

    --应用场合:强制产生不符合业务北京的知识 

     --测试方法:列举出所有无效的输出,然后逐一测试

    --测试知识储备:全面理解需求规格说明书,熟悉行业背景知识。

    Web应用系统中的表单测试

    内容总结

    --输入非法数据

    --输入默认值

    --输入特殊字符集/数据类型的合法输入

    --输入缓冲区溢出的数据

    --输入产生错误的合法数据组合

    --产生同一个输入的各种可能输出

    --强制产生不符合业务规则的无效输出    

    --Web应用系统中的表单测试  

  • 相关阅读:
    distroless 镜像介绍及调试基于distroless 镜像的容器
    C# 设置或验证 PDF中的文本域格式 E
    Java 在PDF中添加工具提示|ToolTip E
    MongoDB Security
    Spring Boot MongoDB
    MongoDB 安装
    nginx重试机制proxy_next_upstream
    (转)VC中等比例缩放图像
    5 Ways You can Learn Programming Faster
    如何批量去除文件名中的某些字符串?
  • 原文地址:https://www.cnblogs.com/yusijie/p/6737407.html
Copyright © 2020-2023  润新知