• 12
  • 12
分享
  • 软件测试之功能测试总结——软件测试圈
  • 饭团🍙 2021-12-28 15:07:21 字数 4770 阅读 863 收藏 12

1、页面链接检查:

每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTMLLinkValidater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTMLLinkValidater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。

2、相关性检查:

功能相关性:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。

数据相关性:下来列表默认值检查,下来列表值检查,如果某个列表的数据项依赖于其他模块中的数据,同样需要检查,比如,某个数据如果被禁用了,可能在引用该数据项的列表中不可见。

3、检查按钮的功能是否正确:

如新建、编辑、删除、关闭、返回、保存、导入,上一页,下一页,页面跳转,重置等功能是否正确。常见的错误会出现在重置按钮上,表现为功能失效。

4、字符串长度检查:

输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度。还要检查需求规定的字符串长度是否是正确的,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。

5、字符类型检查:

在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。

6、标点符号检查:

输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。

7、特殊字符检查:

输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。常见的错误是出现在%‘\这几个特殊字符

8、中文字符处理:

在可以输入中、英文的系统输入中文,看会否出现乱码或出错。

9、检查信息的完整性:

在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信息是否一致。要注意检查的时候每个字段都应该检查,有时候,会出现部分字段更新了而个别字段没有更新的情况。

10、信息重复:

在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。

11、检查删除功能:

在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。如果有多页,翻页选,看系统是否都正确删除,并且要注意,删除的时候是否有提示,让用户能够更正错误,不误删除。

12、检查添加和修改是否一致:

检查添加和修改信息的要求是否一致。例如添加要求必填的项。修改也应该必填;添加规定为整型的项。修改也必须为整型。

13、检查修改重名:

修改时把不能重名的项改为已存在的内容,看会否处理,报错同时,也要注意,会不会报和自己重名的错。

14、重复提交表单:

一条已经成功提交的纪录,返回后再提交,看看系统是否做了处理,对于Web系统来说,可以通过浏览器返回键或者系统提供的返回功能。

15、检查多次使用返回键的情况:

在有返回键的地方,返回到原来页面,重复多次,看会否出错。

16、搜索检查:

有搜索功能的地方输入系统存在和不存在的内容,看搜索结果是否正确。如果可以输入多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确,搜索的时候同样要注意特殊字符,某些系统会在输入特殊字符的时候,将系统中所有的信息都搜索到。

17、输入信息位置:

注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。

18、上传下载文件检查:

上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。下载文件能否打开或者保存,下载的文件是否有格式要求,如需要特殊工具才可以打开等。上传文件测试同时应该测试,如果将不能上传的文件后缀名修改为可以上传文件的后缀名,看是否能够上传成功,并且,上传文件后,重新修改,看上传的文件是否存在。

19、必填项检查:

应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加“*”;对必填项提示返回后,焦点是否会自动定位到必填项。

20、快捷键检查:

是否支持常用快捷键,如Ctrl+C、Ctrl+V、Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。

21、回车键检查:

在输入结束后直接按回车键,看系统处理如何,会否报错。这个地方很有可能会出现错误。

22、刷新键检查:

在Web系统中,使用浏览器的刷新键,看系统处理如何,会否报错。

23、回退键检查:

在Web系统中,使用浏览器的回退键,看系统处理如何,会否报错。对于需要用户验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看系统如何处理。

24、直接URL链接检查:

在Web系统中,直接输入各功能页面的URL地址,看系统如何处理,对于需要用户验证的系统更为重要。如果系统安全性设计的不好,直接输入各功能页面的URL地址,很有可能会正常打开页面。

25、空格检查:

在输入信息项中,输入一个或连串空格,查看系统如何处理。如对于要求输入整型、符点型变量的项中,输入空格,既不是空值,又不是标准输入。

26、输入法半角全角检查:

在输入信息项中,输入半角或全角的信息,查看系统如何处理。如对于要求输入符点型数据的项中,输入全角的小数点(“。”或“.”,如4.5);输入全角的空格等。

27、密码检查:

一些系统的加密方法采用对字符Ascii码移位的方式,处理密码加密相对较为简单,且安全性较高,对于局域网系统来说,此种方式完全可以起到加密的作用,但同时,会造成一些问题,即大于128的Ascii对应的字符在解密时无法解析,尝试使用“uvwxyz”等一些码值较大的字符作为密码,同时,密码尽可能的长,如17位密码等,造成加密后的密码出现无法解析的字符。

28、用户检查:

任何一个系统,都有各类不同的用户,同样具有一个或多个管理员用户,检查各个管理员之间是否可以相互管理,编辑、删除管理员用户。同时,对于一般用户,尝试删除,并重建同名的用户,检查该用户其它信息是否重现。同样,提供注销功能的系统,此用户再次注册时,是否作为一个新的用户。而且还要检查该用户的有效日期,过了有效日期的用户是不能登录系统的。容易出现错误的情况是,可能有用户管理权限的非超级管理员,能够修改超级管理员的权限。

29、系统数据检查:

这是功能测试最重要的,如果系统数据计算不正确,那么功能测试肯定是通不过的。数据检查根据不同的系统,方法不同。对于业务管理平台,数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。

30、系统可恢复性检查:

以各种方式把系统搞瘫,测试系统是否可正常迅速恢复。

31、确认提示检查:

系统中的更新、删除操作,是否提示用户确认更新或删除,操作是否可以回退(即是否可以选择取消操作),提示信息是否准确。事前或事后提示,对于Update或Delete操作,要求进行事前提示。

32、数据注入检查:

数据注入主要是对?数据库的注入,通过输入一些特殊的字符,如“’”,“/”,“-”等或字符组合,完成对SQL语句的破坏,造成系统查询、插入、删除操作的?SQL因为这些字符而改变原来的意图。如select*from table whereid=‘’and name=‘’,通过在id输入框中输入“12’-”,会造成查询语句把name条件注释掉,而只查询id=12的记录。同样,对于update和delete的操作,可能会造成误删除数据。当然还有其它一些SQL注入方法,具体可以参考《SQL应用高级SQL注入.doc》,很多程序都是基于页面对输入字符进行控制的,可以尝试跳过界面直接向数据库中插入数据,比如用Jmeter,来完成数据注入检查。

33、刷新检查:

web系统中的WebForm控件实时刷新功能,在系统应用中有利有弊,给系统的性能带来较大的影响。测试过程中检测刷新功能对系统或应用造成的影响(白屏),检查控件是否回归默认初始值,检查是否对系统的性能产生较大影响(如每次刷新都连接数据库查询等)。

34、事务检查:

对于事务性操作,断开网络或关闭程序来中断操作,事务是否回滚。

35、时间日期检查:

时间、日期验证是每个系统都必须的,如2006-2-29、2006-6-31等错误日期,同时,对于管理、财务类系统,每年的1月与前一年的12月(同理,每年的第1季度与前一年的第4季度)。另外,对于日期、时间格式的验证,如2006年2月28日、2006-2-28、20060228等。日期检查还要检查日期范围是否符合实际的业务,对于不符合时间业务的日期,系统是否会有提示或者有限制。

36、多浏览器验证:

越来越多的各类浏览器的出现,用户访问Web程序不再单单依赖于MicrosoftInternetExplorer,而是有了更多的选择:Maxthon、Firefox、TencentTraveler等,考虑使用多种浏览器访问系统,验证效果。

37、安装测试:

对于C/S架构的系统,安装程序的测试是一个重要方面,安装程序自动化程度、安装选项和设置(验证各种方案是否都能正常安装)、安装过程中断测试、安装顺序测试(分布式系统)、修复安装及卸载测试。

38、文档测试:

主要是对用户使用手册、产品手册进行测试,校验是否描述正确、完整,是否与当前系统版本对照,是否易理解,是否二义性等。

39、测试数据检查:

事实告诉我们,测试数据比代码更有可能是错的,因此,当测试结果显示有错误发生的时候,怀疑代码错误前要先对测试数据检查一遍。

40、请让我的机器来运行:

在某些项目中,出现一个病态的问题:系统没有问题呀,它在我的机器上是能够通过的。这就说明了其中存在着和环境相关的BUG。“是否所有的一切都受到了版本控制工具的管理”、“本机的开发环境和服务器的环境是否一样”、“这里是否存在一个真正的BUG,只不过是在其他的机器里偶然出现”。所有的测试必须在所有系统要求的机器上运行通过,否则的话,代码就可能存在问题。

41、Ajax技术的应用:

Ajax有很多优点,但也有很多缺点,如果利用优点、避免缺点,是我们对新的Web2.0应用的一个挑战。而Ajax的应用最直接的问题就是用户体验,用户体验的效果直接关系到是否使用Ajax技术。“会做,并不意味着应该做、必须做”,这就是对Ajax技术的很重要的注解。

42、Ajax技术的应用:

Ajax采用异步调用的机制实现页面的部分刷新功能,异步调用存在异常中断的可能,尝试各种方法异常中断异步的数据调用,查看是否出现问题。在这里遇到的一个问题就是对日期控件的操作,已经如果页面数据较多的时候的刷新。

43、脚本错误:

随着Ajax、IFrame等异步调用技术的发展,Javascrīpt技术也越来越受到开发人员的重视,但Javascrīpt存在调试困难、各浏览器存在可能不兼容等问题,因此在Web系统中,可能会出现脚本错误。同时,脚本错误造成的后果可大、可小,不能忽视。


作者:张祖跃 

原文链接:https://blog.51cto.com/zhangzuyue/1566588

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一、背景  随着各类应用快速和多样化的发展,产品迭代更换频繁,导致业务需求旺盛,开发测试任务源源不断。项目团队通过采取测试分层策略、测试数据治理、自动化回归、性能测试等一系列举措确保系统的安全生产。然而,通过调研发现,投产运行后的缺陷90%以上为性能问题,为我们敲响了性能警钟。为此,项目团队探索打破以项目维度开展性能测试的壁垒,按系统维度进行性能周期性检测,尽可能模拟系统生产运行模式,检验特定情况下是否会有系统级性能问题,降低系统投产的性能风险。  二、探索实践  性能周期性检测实践从性能测试环境建设、性能测试范围选取、测试脚本集准备、性能测试场景设置、性能测试结果对比分析及调优几个维度逐...
            1 1 2293
            分享
          • 首先我们来说下接口测试工具如postman,jmeter等的缺点。最大的不足就是接口测试数据的不可控,这个环节接口工具是没有办法完成的。举个例子:比如我们调用商品查询列表或者某个商品详情信息,比如商品列表有50条数据,商品详情比如说是连衣裙,尺码是s,品牌是某某,大家想一下,如果数据库中没有这些数据,那我们怎么验证该接口功能是否正确?所以说,在我们测试接口前,是需要对测试数据进行初始化的操作的,这个初始化的操作也只能通过谢代码的方式来解决。接口工具测试过程: 1、接口工具调用被测系统的接口。 2、系统的接口根据入参向数据库发送请求进行查询。 3、系统的接口得到查询...
            0 7 6704
            分享
          •   一、Spring-Intergration 简介  Spring-Intergration提供Spring编程模型的拓展,以支持EIP(nterprise Integration Patterns,企业集成模式)。在基于Spring的应用程序中支持轻量级的消息传递,支持通过适配器(Adapters)与外部系统集成。Spring-Intergration有以下目标:  ·提供一个简单的模型来实现复杂的企业集成解决方案  ·在基于Spring的应用程序中提供异步、消息驱动的行为  ·激励Spring的现有用户直观、增量的使用Spring-Intergration  二、Spring-Inter...
            0 0 838
            分享
          • 提纲/目标通过对微信小程序特性和测试点进行总结,储备测试知识,提高测试效率。小程序特性介绍小程序测试工作过程监控与管理常见问题&技巧现状分析接触小程序的项目相对较少缺少小程序测试实战经验对小程序的特性不了解小程序测试测试沉淀较少目标达到成就介绍小程序特性,了解测试中的注意事项以某小程序为例,了解小程序测试工作通过知识沉淀和经验总结,提高测试效率课程内容*小程序已越来越常见小程序发布审核发布前需申请外网域名,并在微信web开发者工具里找到项目,设置好服务器的域名。开发完上传代码后,在微信公众平台—》登录小程序管理后台—》点击开发管理—》点击提交版本审核即可。审核通过后会有相应提示,接着把...
            14 14 1854
            分享
          •   应用场景  “这个测试用例的前置条件、步骤、检验点是什么?”  “让我看下代码。”  这可能是大多数做自动化测试的朋友遇到一种场景吧。  用例多了、代码有时候也就 “乱” 了。 清晰明了地组织自己的测试场景,让领导、同事一看就明白的你的测试步骤与检查点,不用费神费力地解释,又简单快速地维护用例代码。  这就是今天向大家介绍的BDD,让你的测试工作变得更高效、更简洁。  温馨提示  如果阅读者想按示例进行操作,您一定要具备以下的配置, 当然您也可以使用其它IDE。  自动化框架:Cucumber+Selenium  语言:Java  项目:Maven  IDE:IntelliJ IDEA  ...
            12 12 1397
            分享
      • 51testing软件测试圈微信