Summary of functional test points based on actual testing

1. Page link check: whether each link has a corresponding page, and the switching between pages is correct. Some tools are available, such as LinkBotPro, File-AIDCS, HTML Link Validater, Xenu, etc. LinkBotPro does not support Chinese, and Chinese characters are displayed as garbled characters; HTML Link Validater can only test web links ending with Html or htm; Xenu does not need to be installed, and supports web pages ending with asp, do, jsp, etc., xenu test links include internal links and external links , you should pay attention when using it, and can generate test reports in html format. If the system uses QTP for automated testing, you can also use QTP's page checkpoints to check links.

2. Correlation check:

  • Functional relevance: Will deleting/adding an item affect other items, and if so, are these effects correct? A common situation is that after adding a data record, if the content of a field in the data record is longer , which may deform the data list when querying.
  • Data dependency: check the default value of the list down, check the value of the list down, if the data item of a list depends on the data in other modules, it also needs to be checked, for example, if a data item is disabled, it may be referencing the data item is not visible in the list.

3. Check whether the functions of the buttons are correct: such as new, edit, delete, close, return, save, import, previous page, next page, page jump, reset and other functions are correct. A common mistake will appear on the reset button, which appears to be ineffective.

4. String length check: Enter the content that exceeds the string length specified by the requirement to see if the system checks the string length. It is also necessary to check whether the length of the string specified by the requirement is correct. Sometimes it occurs that the length of the string specified by the requirement is too short to input business data.

5. Character type check: Enter other types of content where the specified type of content should be input (such as input other character types where the integer type should be input) to see if the system checks the character type.

6. Punctuation check: The input content includes various punctuation marks, especially spaces, various quotation marks, and the Enter key. See if the system handles it correctly. A common mistake is the system's handling of spaces. It may be that when adding spaces, spaces are treated as a character, and spaces are masked when querying, so that the added content cannot be queried.

7. Special character check: Enter special symbols, such as @, #, $, %, !, etc., to see if the system handles it correctly. Common mistakes are the special characters % ' \

8. Chinese character processing: Input Chinese in a system that can input Chinese and English to see if there will be garbled characters or errors.

9. Check the integrity of the information: When viewing and updating the information, check whether all the information filled in is updated, and whether the updated information and the added information are consistent. It should be noted that each field should be checked when checking. Sometimes, some fields are updated and some fields are not updated.

10. Duplicate information: Enter a duplicate name or ID in some information that needs to be named and the name should be unique, see if the system has processed it, whether it will report an error, whether the duplicate name is case-sensitive, and enter spaces before and after the input content, Whether the system has made the correct processing.

11. Check the delete function: in some places where multiple information can be deleted at one time, do not select any information, press "delete" to see how the system handles it and see if there is an error; then select one or more information to delete to see if it is correct deal with. If there are more than one page, turn the page and select it to see if the system deletes it correctly, and pay attention to whether there is a prompt when deleting, so that the user can correct the error and not delete it by mistake.

12. Check whether the addition and modification are consistent: Check whether the requirements for adding and modifying information are consistent, such as adding a required item, the modification should also be required; adding an item specified as an integer, the modification must also be an integer.

13. Check and modify the same name: When modifying, change the item that cannot be the same name to the existing content, see if it will be processed, and report an error. At the same time, also pay attention to whether it will report the error of the same name as yourself.

14. Repeat form submission: a record that has been successfully submitted, submit it after returning to see if the system has processed it. For the Web system, you can use the browser return key or the return function provided by the system.

15. Check the situation of using the return key multiple times: In the place where there is a return key, return to the original page and repeat it several times to see if there is an error.

16. Search check: Enter the content that exists and does not exist in the system where there is a search function to see if the search results are correct. If you can enter multiple search conditions, you can add reasonable and unreasonable conditions at the same time to see if the system handles it correctly. Search Also pay attention to special characters when entering special characters. Some systems will search all the information in the system when entering special characters.

17. Input information position: Pay attention to whether the cursor and the input information will jump to other places when inputting information at the place where the cursor stays.

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 where id = ‘ ’ 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程序不再单单依赖于Microsoft Internet Explorer,而是有了更多的选择:Maxthon、Firefox、Tencent Traveler等,考虑使用多种浏览器访问系统,验证效果。

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系统中,可能会出现脚本错误。同时,脚本错误造成的后果可大、可小,不能忽视。

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326769057&siteId=291194637