巴黎的灯光下 发表于 2017-6-20 13:39:22

功能测试-测试方法

首先先了解下故障模型的概念。
故障模型:
--设计测试用例时有太多的单个输入变量、多个输入变量的组合,优秀的软件测试人员不会依靠运气,他们有着丰富的经验和直觉,可以从中找到哪些是要进行测试的,哪些不需要测试,哪些操作可能会引起软件失效。我们把这些测试人员的经验和直觉尽量归纳和固化,形成一些故障模型(Fualt Model)。
--为软件测试工程师明敏锐发现缺陷提供帮助


方法一:输入非法数据
http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420103258696-707546167.png
如何发现这类问题
--举例:假设"软件测试工程师管理系统"中每个工程师的信息单独使用一个文件进行保存,保存文件名为工程师姓名;即如果工程师姓名为张三,则保存的该工程师信息的文件为"张三.txt",则添加工程师测试时要注意工程师姓名输入的隐含问题。
   http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420103600071-238696137.png
注意
--检查错误信息,保证正确、易懂!
--举例:错误信息:Error 5-unkown data!  


方法二:输入默认值
http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420103745946-43098677.png

http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420103823149-1722604290.png

此类缺陷产生原因
--定义变量时未赋初值
--赋初值不正确
--再次赋初值后对程序其他部分的影响

如何发现这类问题
--创建默认值是相当难的程序设计工作。开发人员要确保变量在进入循环或进行函数调用之前就做了初始化。如果没做初始化,使用这样的变量将产生严重的后果。确定应用软件中使用的数据有一些基本原则:
                                 1、寻找选项按钮、配置面板、安装屏幕等。这种屏幕上显示的数据常常在应用程序的许多地方用到。
             2、查阅源代码的数据声明部分。(如果可以得到)
             3、确定了要测试的数据,可以通过以下操作来强制使用或不使用默认值:  
                                     http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420105858618-1947578612.png

http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110348274-150052482.png


方法三:输入特殊字符集
http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110418540-73924106.png

http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110426399-331840186.png


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

http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110507243-1500075689.png
  http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110527009-1976438075.png


方法五:输入产生错误的合法数据组合
http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110616821-227499459.png


http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110628102-389163624.png



用户接口输入测试小结
--输入非法数据
--输入默认值
--输入特殊字符
--输入使缓冲区溢出的数据
--输入产生错误的合法数据组合




方法六:同一个输入产生各种可能输出
http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110821431-1962648976.png


方法七:产生不符合业务规则的无效输出
http://images2015.cnblogs.com/blog/1020866/201704/1020866-20170420110851587-361797634.png



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

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

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

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

测试方法小结
--应用场合:强制产生不符合业务北京的知识
--测试方法:列举出所有无效的输出,然后逐一测试
--测试知识储备:全面理解需求规格说明书,熟悉行业背景知识。


Web应用系统中的表单测试







内容总结
--输入非法数据
--输入默认值
--输入特殊字符集/数据类型的合法输入
--输入缓冲区溢出的数据
--输入产生错误的合法数据组合
--产生同一个输入的各种可能输出
--强制产生不符合业务规则的无效输出    

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

八戒你干嘛 发表于 2017-6-20 13:59:18

很赞,写的太好了,对功能测试有很大的帮助!

巴黎的灯光下 发表于 2017-6-20 14:00:07

八戒你干嘛 发表于 2017-6-20 13:59
很赞,写的太好了,对功能测试有很大的帮助!

谢谢,一起学习!:)

岛屿soliloquy 发表于 2017-6-21 10:33:05

为版主点赞咯
页: [1]
查看完整版本: 功能测试-测试方法