如何做好功能自测

2021-09-07 02:53:57  晓掌柜  版权声明:本文为站长原创文章,转载请写明出处


一、前言

        在项目开发的过程中,不管是开发人员的自测还是测试人员的全面测试,都是必不可少的重要环节。其中软件测试方法的目的包括:发现软件程序中的错误、对软件是否符合设计要求,以及是否符合合同中所要达到的技术要求,进行有关验证以及评估软件的质量。最终实现将高质量的软件系统交给用户的目的。


二、测试用例设计思路

    2.1、显式功能性需求测试

        ① 等价类划分法:

        本质上是穷举的思想,我们将所有可能的输入数据或操作分为多组不同的子集,每个子集中的数据与操作对发现程序中的潜在错误都有同等的效应。这样我们就将一个子集称为一个等价类。比如输入各种与用户名不相符的密码,是一个等价类;输入各种不存在的用户名是另一组等价类。这样在测试的时候,我们只要在每个等价类中选择一个典型操作,就可以达到较好的测试覆盖度。

        ② 边界值分析法

        在我们在测试合理与不合理的数据的时候,往往最容易出现问题的就是合理与不合理的边界,这时我们就需要使用边界值分析法了。边界值分析法,就是对恰好大于、小于和等于边界的值进行测试,来验证程序是否做到了合适的处理。边界值分析法一般是作为等价类的补充,来加强测试功能实现的程度与健壮性保障的程度,是否符合规格。

        ③ 错误推测法

        在测试的时候就算我们使用了等价类划分法和边界值分析法,也很可能会遗漏一些需求中没有清晰提出,技术上比较隐蔽的错误。这种错误就需要测试人员通过已有的经验、对功能实现可能的方法的理解或直觉,来推测出软件中可能存在的各种错误与场景,然后编写测试用例来进行验证,这就叫做错误推测法。

    2.2、非功能性需求

        ① 兼容性测试

        不同厂商的浏览器及相同厂商不同版本的浏览器。

        不同的设备终端及操作系统

        不同的屏幕分辨率

        不同的用户软件环境(比如是否禁用了cookie、是否可以连接外网等)

        ② 安全性测试

        用户隐私信息是否加密

        需要权限的资源是否有没有权限也可以被拿到的风险

        会不会受到跨站脚本的攻击

        会不会受到sql注入攻击

        ③ 压力测试

        软件是否能在合理的时间内响应用户行为

        软件是否可能承载足够的请求

        软件在处理大数据量时会不会产生资源锁死

    2.3、单元测试思路

        ① 接口功能性测试

            接口功能的正确性,即保证接口能够被正常调用,并输出有效数据!是否被顺利调用?参数是否符合预期?

        ② 局部数据结构测试

            保证数据结构的正确性!变量是否有初始值或在某场景下是否有默认值?变量是否溢出?

        ③ 边界条件测试

            变量无赋值(null)?变量是数值或字符?

            主要边界:最大值,最小值,无穷大

            溢出边界:在边界外面取值+/-1

            临近边界:在边界值之内取值+/-1

            字符串的边界,引用 "变量字符"的边界

            字符串的设置,空字符串

            字符串的应用长度测试

            空白集合

            目标集合的类型和应用边界

            集合的次序

            变量是规律的,测试无穷大的极限,无穷小的极限

        ④ 独立代码测试

            保证每一句代码,所有分支都测试完成,主要包括代码覆盖率,异常处理通路测试

            语句覆盖率:每个语句都执行到了

            判定覆盖率:每个分支都执行到了

            条件覆盖率:每个条件都返回布尔

            路径覆盖率:每个路径都覆盖到了

        ⑤ 异常测试

            后续处理模块测试:是否包闭当前异常或者对异常形成消化,是否影响结果!

    

三、常用的测试用例

    3.1、登录

        ① 用户名和密码都符合要求(格式上的要求)

        ② 用户名和密码都不符合要求(格式上的要求)

        ③ 用户名符合要求,密码不符合要求(格式上的要求)

        ④ 密码符合要求,用户名不符合要求(格式上的要求)

        ⑤ 用户名或密码为空

        ⑥ 数据库中不存在的用户名,不存在的密码

        ⑦ 数据库中存在的用户名,错误的密码

        ⑧ 数据库中不存在的用户名,存在的密码

        ⑨ 输入的数据前存在空格

        ⑩ 输入正确的用户名密码以后按[enter]是否能登陆

    3.2、添加

        ① 要添加的数据项均合理,检查数据库中是否添加了相应的数据

        ② 留出一个必填数据为空

        ③ 按照边界值等价类设计测试用例的原则设计其他输入项的测试用例

        ④ 不符合要求的地方要有错误提示

        ⑤ 是否支持table键

        ⑥ 按enter是否能保存

        ⑦ 若提示不能保存,也要察看数据库里是否多了一条数据

    3.3、删除

        ① 删除一个数据库中存在的数据,然后查看数据库中是否删除

        ② 删除一个数据库中并不存在的数据,看书否有错误提示,并且数据库中没有数据被删除

        ③ 输入一个格式错误的数据,看是否有错误提示,并且数据库中没有数据被删除。

        ④ 输入的正确数据前加空格,看是否能正确删除数据

        ⑤ 什么也不输入

        ⑥ 是否支持tab键

        ⑦ 是否支持enter键

    3.4、查询

      精准查询:

        ① 输入的查询条件为数据库中存在的数据,看是否能正确地查出相应得数据

        ② 输入正确的查询条件以前加上空格,看是否能正确地查出相应的数据

        ③ 输入格式或范围不符合要求的数据,看是否有错误提示

        ④ 输入数据库中不存在的数据

        ⑤ 不输入任何数据

        ⑥ 是否支持table键

        ⑦ 是否支持enter键

  •    模糊查询:

        在精确查询的基础上加上以下一点:输入一些字符,看是否能查出数据库中所有的相关信息

    3.5、文本框

        ① 输入非法数据;

        ② 输入默认值;

        ③ 输入特殊字符集;

        ④ 输入使缓冲区溢出的数据;

        ⑤ 输入相同的文件名;

    3.6、命令按钮

        ① 点击按钮正确响应操作。如,单击确定,正确执行操作;单击取消,退出窗口;

        ② 对非法的输入或操作给出足够的提示说明,如,输入月工作天数为32时,单击”确定“后系统应提示:天数不能大于31;

        ③ 对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会;

    3.7、单选按钮

        ① 一组单选按钮不能同时选中,只能选中一个。

        ② 逐一执行每个单选按钮的功能。分别选择了“男”“女”后,保存到数据库的数据应该相应的分别为“男”“女”;

        ③ 一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空;

    3.8、数字输入框

        ① 直接输入数字或用上下箭头控制,如,在“数目”中直接输入10,或者单击向上的箭头,使数目变为10;

        ② 利用上下箭头控制数字的自动循环,如,当最多数字为253时,单击向上箭头,数目自动变为1;反之亦适用;

        ③ 直接输入超边界值,系统应该提示重新输入;

        ④ 输入默认值,空白。如,“插入”数目为默认值,点击“确定”;或,删除默认值,使内容为空,单击“确定”进行测试;

        ⑤ 输入字符。此时系统应提示输入有误。

    3.9、组合列表框

        ① 条目内容正确,其详细条目内容可以根据需求说明确定;

        ② 逐一执行列表框中每个条目的功能;

        ③ 检查能否向组合列表框输入数据;

    3.10、复选框

        ① 多个复选框可以被同时选中;

        ② 多个复选框可以被部分选中;

        ③ 多个复选框可以都不被选中;

        ④ 逐一执行每个复选框的功能;

    3.11、列表框

        ① 条目内容正确;同组合列表框类似,根据需求说明书确定列表的各项内容正确,没有丢失或错误;

        ② 列表框的内容较多时要使用滚动条;

        ③ 列表框允许多选时,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况;

    3.12、滚动条

        ① 滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比,如,word中浏览100页文档,

            浏览到50页时,滚动条位置应处于中间;

        ② 拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;

        ③ 单击滚动条;

        ④ 用滚轮控制滚动条;

        ⑤ 滚动条的上下按钮。


    以上信息多来源于网络,多用于记录。更多精彩请持续关注:guangmuhua.com



最新评论: