软件测试之客户端(Client)测试

时间:2021-09-06 21:59:20
Client测试的特点

    Client测试也叫做客户端测试,他是测试安装在用户机器上的应用程序的各个功能是否可以正常运行

    需要先在本机安装Client程序包,然后通过运行Client程序,进行各种数据的输入,保存等操作。

    测试内容包括:安装测试、卸载测试、用户界面测试、功能测试、字符输入测试、提示信息测试、超链接测试、操作按钮测试、菜单测试、视频音频测试、程序运行权限测试等。

Client测试
    安装测试:

        包括进行首次安装、升级安装、完整的或自定义安装、以及异常的情况,如:磁盘空间不足、缺少目录创建权限等。

        首次安装测试:
            从测试站点下载Client的安装包
            运行安装包,将会出现安装欢迎窗口,按提示完成安装

        重复安装测试
            程序首次安装完成之后,可以验证再次安装的测试用例

            示例的缺陷分析:
                在测试机器上安装Client程序,并且运行它

                保证程序正在运行,再次安装Client程序

                预期结果:弹出信息,提示用户退出当前正在运行的程序

                实际结果:直接弹出错误窗口,而且是系统弹出来的。
    卸载测试:
        卸载时,可以通过程序自己的卸载程序,也可以通过Windows控制面板里的删除/卸载功能。这两种方法都需要验证,确保程序都可以成功卸载。另外卸载之后,还要验证是否有残留文件存在,如果有残留文件,说明卸载不彻底,他就是缺陷。

        需要注意以下几点:
            是否可以成功卸载。有些程序安装和运行时都没有问题,但是在卸载是有报告一些例外错误。

            程序的文件是否卸载干净,是否有残留文件。

            程序卸载之后,是否可以再次安装

            测试程序的卸载是否影响其他程序的运行,比如卸载了测试程序,系统不能启动了,或者其他的程序打不开了等。
    UI测试
        用户界面,简称UI(User Interface),是指软件中的可见外观及其底层与用户交互的部分(菜单、对话框、窗口和其他控件)。

        用户界面测试是指测试用户界面的风格是否满足客户要求,他常常包括菜单、按钮、图标、文本框、对话框、出错信息、帮助信息、文字、图片等。比如文字是否正确,界面是否美观,文字,图片组合是否完美,操作界面是否友好等等。

        还要验证一下几个方面:
            在不同的操作系统里验证程序的UI显示,比如WinXP,Win7,Win8。
            调整机器的分辨率到不同的大小,比如1024*768,1440*900,1280*1024,1600*1024,2560*1440.
        示例:
            登录窗口,UI测试需要从一下几个方面进行:
                验证这个窗口上的文字是否整齐,字体大小、字体颜色、字体幸好是否协调一致

                登录名和密码输入框排列是否整齐

                选项框和“Remember my password”文字是否在同一条直线上

                窗口上的按钮“Log in”,“Cancel”。“Preferences”是否排列整齐。

                “Forget Password?”是超链接,当鼠标移上去变成手的形状,颜色默认应该是蓝色,并且有下划线

                窗口上的标题和Logo应该对齐

        缺陷分析:
            调整机器的分辨率到1600*1024

            打开Client程序
            窗口上的内容不应该随着分辨率的调整而受到影响

    功能测试:
        功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。功能测试也叫和黑子测试或数据驱动测试,只需考虑各个功能,不需要考虑整个软件内部结构及代码。一般从软件产品的界面、框架出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而使产品更好的达到用户使用的要求。

        功能测试时,先理清产品的主要功能,然后根据产品的数据流向,输入一些基本的正常数据,看这些主要功能是否可以实现;再做一些扩展测试,也就是修改不同的参数,看参数改变之后,是否达到需要的效果;最后做一些破坏性测试,输入一些极限或者超出范围的数据,以及做出一些例外测试,比如需要联网的产品,测试时拔掉网线,看看是否异常反应等等。

    字符输入测试
        字符输入测试是指在能输入字符的窗口、对话框、文本框,验证是否可以输入有效字符,字符输入长度、内容等等。

        字符输入测试需注意:
            字符输入测试时,要注意边界值测试,也就是最大输入字符数

            要测试特殊字符的输入,因为有些代码对特殊字符没有做保护,输入时是可以的,但在保存时就会出错

            要注意攻击代码的测试,能输入字符的地方,就可以输入恶意攻击代码,如果不作保护,就可能破坏产品或者给用户造成损失。

        示例:登录端登录过程
        在做字符输入测试时,需要从一下几个方面进行:
            验证实际输入字符和规定的是否相等。同事验证输入最大字符后,窗口是否有变形,程序运行是否变慢等

            再输入的字符中要包含一般的字母,数字,特殊字符,还要包含一些可以攻击的脚本等。验证输入框是否有容错性,是否能被恶意攻击

            在Client输入的字符,是要上传到服务器的,验证服务器是否可以正常完整的显示。

    Tooltip测试

        Tooltip是表示一个小的长方形弹出窗口,该窗口当用户将指针悬停在一个控件上时显示有关该控件用途的简短说明,也称为提示信息。Tooltip测试是验证控件上的提示信息是否可以正常显示

        Tooltip测试要注意以下几点:
            验证Tooltip是否能出现
            检查Tooltip出现的位置
            检查Tooltip出现和消失的时间是否合理

    链接测试

        链接是Web应用系统的一个主要特征,他是在页面之间切换和指导用户连接其他页面的手段。在用户终端有时也设置一些链接,用户点击链接,就可以跳转到指定的页面。

        需注意:
            设置有链接的字符有下划线标识

            当鼠标移动到连接上方时,鼠标会变成手的形状

            测试连接是否按指示的那样确实链接到了该链接的页面

            测试所连接的页面是否存在

     操作按钮测试
        操作按钮是指窗口上布置的各种功能的按钮,点击相应的按钮,就可以实现相应的功能。

        需注意:
            当鼠标点击的时候,按钮会有一定的变化,比如有凹陷的状态

            当鼠标移开时,按钮恢复原状

            按钮点击之后,验证相应的功能是否实现,比如点击“Cancel”时Login窗口被关闭,点击“log in”,如果用户名和密码正确,直接登录成功,如果用户名或密码错误,将会弹出错误提示。

            检查按钮上的文字是否排列整齐,是否居中,大小是否统一

    菜单测试
        菜单是为软件的大部分功能提供入口,它分为左键菜单和右键菜单。菜单测试就是测试这些入口是否正确,是否达到想要的目的。

        需注意
            在很多程序的菜单包含有快捷键,测试这些快捷键是否有效,是否有重复

            菜单分为一级菜单、二级菜单和更高级菜单,一级菜单后面带有黑色箭头的就是二级菜单,验证二级菜单是否正常打开。

            检验菜单是否指向正确,

    音频测试
        音频测试就是检验应用程序的声音输入和输出是否正常,声音是否流畅,是否有变音或音量大小不稳定。在测试时需要测试系统默认的声音设备,还要测试另外接入的音频设备,比如接入的耳麦和麦克风。

        主要注意声音的输入输出是否正常

        示例:QQ程序测试语音功能,需要从以下几个方面进行:
            1、打开语音设置对话框,在“声音输入”和“声音输出”里选择“Windows默认设备”,测试默认设备的声音输入和输出声音质量。
            2、在“调节”部分可以调整麦克风和声音输出设备的音量,测试音量调整是否有效。
            3、选上和反选“自动调节麦克风音量”,麦克风的音量会根据说话声音大小自动调节,测试它是否能够成功的进行自动调节。
            4、“自动放大麦克风音量”,设置这个功能后,麦克风的音量会自动放大,别人听的更清楚。
            5、如果有外接的耳机或者麦克风,通过下拉框进行选择,测试选择的设备是否有效。如图所示。如果选择了外接设备,声音应该从外接设备输入或者输出,如果外接设备不能输入或者输出,或者声音仍然通过默认的设备输入/输出,那就是产品的缺陷。
            6、在声音输入/输出里可以设置“禁用”,检验禁用之后,是否仍然有声音输入/输出

    视频测试
        视频软件一般是一对一,或者是一对多,也就是某个人发送视频,某一个人或者多个人同时观看。视频软件同时也是交互的,也就是自己在发送视频,同时还在接受别人发送的视频。视频测试就是测试视频的发送和接收是否流程,是否有停顿、延时,花屏,跳跃等问题。

        视频测试主要注意图像是否流畅,图像和音频是否能同步

        1、在“预览”里可以选择“我的本地图像”或者“对方看到的图像”。选择任何一个选项,预览视频都可以显示出来。
        2、如果有多个视频设备,可以在“请您选择您的视频设备”选择,然后测试所选择的设备是否可以正常发送视频。
        3、在“优先选项”里可以选择“优先保证画面清晰”或者“优先保证视频流畅”。如果带宽流量比较大,测试不明显,这时我们可以通过限速工具对本机网络进行限速,然后再测试这两个选项产生的效果。
        如果机器的带宽流量比较小,想节省带宽,可以设置“节省带宽模式”。
        4、打开“画质调节”,修改不同的参数,图像的质量会有相应的变化,验证质量变化是否正确。

    程序运行权限测试
        程序运行权限测试:一方面系统权限,验证程序的安装运行是否受系统权限影响,另一方面是程序自己的权限控制。

            系统权限
                在操作系统里有不同类型的账号,一般分为Standard user(标准用户),Administrator(管理员)。要验证在不同类型的用户环境下,程序是否可以正常安装和运行。
            程序自己权限控制
                在程序中如果涉及到多用户,都会有权限控制,不同的用户,根据需要分配给它不同的权限。(权限控制测试,主要注意用户所能使用的权限,是否和所分配的相匹配)

    获取测试需要的Trace
        程序运行的Trace,也成为运行日志,世纪路程序运行轨迹的文件,比如程序登录时使用的用户名称,打开那些窗口,执行了那些命令以及一些程序异常等等。

        不同的程序,Trace的存储路径是不一样的,明明方法也不同,测试时需要根据具体的程序查找Trace所在的位置

    客户端(Client)测试,相比Web测试或者Server测试是不同的,它是直接面向用户的,操作习惯、界面风格、友好程序等等,都需要从用户的角度来思考。客户端测试涉及的分类很多,在测试之间要做好规划,把所有需要测试的范围罗列出来,最好写成Test Case,以免测试时漏掉。