zoukankan      html  css  js  c++  java
  • 理解测试用例

    1. 测试用例的设计需要遵守

      (1)制定测试用例的策略和思想,在测试计划中描述出来

      (2)设计测试用例的框架,也就是测试用例的结构

      (3)细化结构,逐步设计出具体的测试用例

      (4)通过测试用例的评审,不断优化测试用例

    2. 为什么需要测试用例,简述以下几方面

      (1)测试用例是测试人员在测试过程中的重要参考依据

      (2)测试用例可以帮助实施有效的测试

      (3)良好的测试用例不断地被重复使用,使得测试过程事半功倍

      (4)测试用例是一个知识积累的过程

    3. 测试用例的元素(5W1H)

      (1)测试目标Why,为什么而测?功能、性能、可用性、容错性、兼容性、安全性等

      (2)测试对象What,测什么?被测试的项目,如对象、函数、类、菜单、按钮、表格、接口、整个系统等

      (3)测试环境Where,在哪儿测?测试用例的运行环境,包括系统配置、设定、操作系统、浏览器、通讯协议等

      (4)测试前提When,什么时候开始测?测试用例运行时的前提或条件

      (5)输入数据Which,哪些数据?在操作时,系统所接受的各种可变化的数据

      (6)操作步骤How,如何测?执行软件和程序的先后次序步骤等

    4. 功能测试用例设计时,一般操作流程

      (1)模块划分

      (2)确定哪些模块适合手工测试,哪些模块适合自动化测试

      (3)根据功能结构及其关系,抓住测试点

      (4)首先设计最上层的测试用例,然后再向下逐层推进

      (5)测试用例的评审

    5. 功能测试可以从以下几个方面进行测试

      (1)界面测试:整体布局的合理性,是否清晰、美观等

      (2)数据测试:接受正确的数据输入,并对异常数据的输入有提示和容错处理

      (3)操作测试:内容包括所有菜单、按钮的设计须符合操作习惯,能对操作有正确的响应,而且操作灵活、符合用户的习惯等

      (4)逻辑测试:是否逻辑合理、清楚、流程不复杂

      (5)接口测试:让接口能配合多种硬件周边设备

    6. 软件测试用例的设计方法

      (1)等价类划分法

      (2)边界值分析方法

      (3)因果图

      (4)功能图

      (5)错误推测方法

    7. 等价类划分法

      (1)把所有可能的输入数据,即程序的输入数据集合划分成若干个子类(即等价类),然后从每一个等价类中选取少数具有代表性的数据作为测试用例

      (2)有效等价类:输入完全满足程序输入的规格说明,可以检验程序是否满足规格说明所规定的功能和性能

      (3)无效等价类:不满足程序输入需要或者由无效输入数据构成的集合

    8. 边界值分析法

      (1)开发人员往往忽视边界条件

      (2)只有边界值确定下来,才能划分出有效等价类和无效等价类

      (3)不仅要选取边界值作为测试数据,还要选取刚刚大于和刚刚小于边界值的数据作为测试数据

    9. 因果图法

      (1)等价类划分法和边界值分析法,主要针对单个输入数据来设计测试用例的,没有考虑多种输入数据的组合情况

      (2)因果图法,利用图解法分析软件输入和输出条件之间的关系,以设计测试用例方法

      (3)因果图法适合于检查程序输入条件的多种情况的组合,最终生成判定表

    10. 错误推测法

      (1)根据经验,尽量列举程序中所有可能出现的错误和值得怀疑的地方,从中做出选择,以设计测试用例

    11. 如何保证测试用例的质量

      (1)对用户需求、服务质量要求、产品特性有深刻且全面的理解

      (2)采取正确、恰当的方法进行用例设计

      (3)按照测试用例的标准格式或规范的模板来书写测试用例

      (4)对测试用例进行检查、评审

     

    12. 好的测试用例

      (1)测试范围覆盖率高

      (2)测试用例设计能反向思维,有效地发现缺陷

      (3)易用性

      (4)易读性,前提条件、步骤和期望结果等描述清楚、准确

      (5)易维护性

    13. 测试用例从正、反两方面进行检查。正面测试用例要求全面,反面测试用例要有创造性

      (1)设计正面测试用例,应参照需求规格说明书。基本事件的测试用例应包含所有需要实现的需求功能,覆盖率达100%

      (2)设计反面测试用例,需要考虑错误输入或异常输入

    14. 若以下回答都为“是”,则意味着测试用例通过了评审

      (1)在设计测试用例前,是否先画好UML时序图、状态图或数据流程图等?

      (2)是否有常见错误表供编写测试用例使用?

      (3) 测试用例的设计思路合理吗?与产品设计、技术设计吻合吗?

      (4)测试用例的结构层次清晰、合理吗?

      (5) 软件需求的所有功能点是否都有正常功能用例对应?

      (6)是否每个正常用例都有对应的异常用例?

      (7) 测试用例是否覆盖了所有的已知边界值,如特殊字符、最大值、最小值?

      (8)测试用例是否覆盖了已知的无效值,如空值、垃圾数据和错误操作等?

      (9)测试用例是否覆盖了输入条件的各种组合情况?

      (10) 测试用例是否覆盖了各种安全性问题?

      (11) 测试用例是否覆盖了负载平衡和故障转移等方面的可用性问题?

      (12)是否考虑了兼容性测试用例?如是否测试了新版本同以前版本的数据、接口的兼容性?

      (13)是否考虑了关联功能的测试用例?如用户修改了自己的邮箱地址,那么提醒、报告等是否会发送到新的地址?

      (14)是否所有的接口数据都有对应的测试用例?

      (15) 测试用例的前提条件、操作步骤描述是否明确、详尽?

      (16) 当前测试是否最小程度地依赖于先前测试或步骤生成的数据和条件?

      (17)测试用例检查点描述是否明确、完备?

      (18) 是否重用了以前的测试用例?

  • 相关阅读:
    jQuery cookie记住用户名密码自动登录
    MySQL解决8小时内没有进行数据库操作, mysql自动断开连接, 需要重启tomcat的问题
    JavaWeb项目设置Session失效时长,失效后自动跳转页面
    JS通过id获取表格内容,并循环添加到数据库
    JS实现表格Table动态添加删除行
    使用easyUI框架实现select下拉框动态加载option
    MySQL数据库出现Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ...this is incompatible with sql_mode=only_full_group_by的问题
    JS获取系统当前时间
    同一机器不同数据库间关联查询
    Fiddler各模块使用说明
  • 原文地址:https://www.cnblogs.com/jiqianqian/p/8136161.html
Copyright © 2011-2022 走看看