精华内容
下载资源
问答
  • WEB端测试用例模板

    2018-10-08 17:03:06
    WEB端测试用例模板,用于模块测试用例,集成测试用例,系统测试用例的编写模板
  • Web及APP通用测试用例.xlsx
  • web测试用例(全)

    2016-07-26 15:20:00
    web测试用例大全
  • (需要有一个全局的概念,不要每个模块都按照他们自己的风格做,结果每个模块效果做出来都不一致,这也是至关重要的所有要测试人员认真检查)  3、交互习惯的一致性,查询、新增、编辑、删除等操作,并保证同一...

    一、易用性

           1、便于使用、理解、并能减少用户发生错误选择的可能性

      2、当数据字段过多时,使用便于用户迅速吸取信息的方式表现信息,突出重点信息,标红等方式

      3、显示与当前操作相关的信息,给出操作提示。

      4、界面要支持键盘自动浏览按钮功能,即按Tab键、回车键的自动切换功能

      5、对于常用的功能,用户不需要阅读用户手册就能使用

    二、一致性

           1、是否符合广大用户使用同类软件的习惯

      2、表现形式的一致性,字体、按钮、控件风格、颜色、术语、提示信息等。(需要有一个全局的概念,不要每个模块都按照他们自己的风格做,结果每个模块效果做出来都不一致,这也是至关重要的所有要测试人员认真检查)

      3、交互习惯的一致性,查询、新增、编辑、删除等操作,并保证同一操作类型按钮名称一致。(顺序一致,页面位置也要尽量相同。)

      4、当输入框为不可输入或控件为不可使用状态时,统一为灰色不可输入状态;

    三、有序性

          1、界面文字、表单、图标等元素根据业务规则、使用频率排列

      2、Tab键的顺序与控件排列顺序要一致,目前流行总体从上到下,同时行间从左到右的方式

      3、必填项提示信息按照从上到下,从左到右的提示方式依次提示

    四、安全性

       1、ID/密码验证方式中能否使用简单密码。如密码标准为6位以上,字母和数字混合,不能包含ID,连续的字母或数字不能超过n位

      2、ID/密码验证方式中,连续数次输入错误密码后该账户是否被锁定

      3、不登录系统,直接输入登录后的页面的url是否可以访问,(添加拦截器)

      4、退出登录后按后退按钮能否访问之前的页面(确认在退出后他的session的信息被注销)

      5、当用户无意录入无效和不符合相关规范的数据(如电子邮箱就需要验证他的邮箱格式是否正确)时,并且给予提示信息

      6、在用户作出危险的选择时有信息进行提示,比如要删除系统的重要数据,或者这种操作可能对系统造成其他的影响。

      7、对可能引起致命错误或系统出错的输入字符或动作要加限制或屏蔽

      8、给用户提供UNDO功能用以撤销不期望的操作

      9、输入的特殊字符是否能正确处理:`~!@#$%^&*()_+-={}[]|\:;”’ <>,./?

    五、灵活性

           1、用户能自由的作出选择,且选择都是可逆的

      2、用户方便的使用即互动多重性,不局限于单一的工具(包括鼠标、键盘或软键盘)

      3、当页面数据暴涨,出现较长列表时,是否有滚动条保证页面显示完整的信息。

    六、人性化

           1、用户可依据自己的习惯定制界面,并能保存设置

      2、提供常用的快捷方式

      3、尽量减少用户输入动作的数量,加快输入的速度:例如,日期等可以提供默认显示当天日期并且可以进行清除和选择日期,下拉默认选中“请选择”,单选框默认选取使用频率最高的选项等

      4、是否用合理的最少步骤实现常用的操作,获得高效率

      5、是否提供进度条、动画等反映正在进行的比较耗时间的过程,(特别有的操作可能造成长时间等待,没有直观的呈现出现在的操作状态或相关的提示信息,容易让不熟悉系统的人误会系统出现了问题)

      6、是否为重要的操作返回必要的结果信息如:成功,失败(失败的原因),正在执行

      7、重要的对象是否用醒目的色彩表示,

      8、色彩使用是否符合行业的习惯,界面的色调是否让人感到和谐、满意

    七、页面检查

           1、界面布局有序,简洁,符合用户使用习惯

      2、界面元素是否在水平或者垂直方向对齐

      3、界面元素的尺寸是否合理

      4、行列间距是否保持一致

      5、是否恰当地利用窗体和控件的空白,以及分割线条

      6、窗口切换、移动、改变大小时,界面显示是否正常

      7、刷新后界面是否正常显示合理布局

      8、不同分辨率页面布局显示是否合理,整齐,分辨率一般为1024*768 > 1280*1024 >800*600

      9、不同的浏览器下渲染出来的页面是否存在变形的情况。

    八、弹出窗口

           1、弹出的窗口应垂直居中对齐

      2、对于弹出窗口界面内容较多,须提供自动全屏功能

      3、弹出窗口时应禁用主界面,保证用户使用的焦点

      4、活动窗体是否能够被反显加亮

    九、页面正确性

           1、界面元素是否有错别字,或者措词含糊、逻辑混乱

      2、当用户选中了页面中的一个复选框,之后回退一个页面,再前进一个页面,复选框是否还处于选中状态

      3、导航显示正确

      4、title显示正确

      5、页面显示无乱码

      6、需要必填的控件,有必填提醒,如 *

      7、适时禁用功能按钮(如权限控制时无权限操作时按钮灰掉或不显示;无法输入的输入框disable掉)

      8、页面无js错

      9、鼠标无规则点击时是否会产生无法预料的结果

      10、鼠标有多个形状时是否能够被窗体识别(如漏斗状时窗体不接受输入

    十、控件检查

           1、查询时默认显示全部

      2、选择时默认显示请选择

      3、禁用时样式置灰

    十一、复选框

          1、多个复选框可以被同时选中

      2、多个复选框可以被部分选中

      3、多个复选框可以都不被选中

      4、逐一执行每个复选框的功能

      5、当复选框太多时,提供全选和全不选的功能

    十二、单选框

           1、一组单选按钮不能同时选中,只能选中一个

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

    十三、树形

           1、各层级用不同图标表示,最下层节点无加减号

      2、提供全部收起、全部展开功能

      3、如有需要提供搜索与右键功能,如提供需有提示信息

      4、展开时,内容刷新正常

    十四、日历控件

          1、同时支持选择年月日、年月日时分秒规则

      2、打开日历控件时,默认显示当前日期

    十五、滚动条控件

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

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

      3、单击滚动条时,页面信息是否正确显示

      4、用滚轮控制滚动条时,页面信息是否正确显示

      5、用滚动条的上下按钮时,页面信息是否正确显示

    十六、按钮

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

      2、对非法的输入或操作给出足够的提示说明

      3、对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会(如删除等危险操作)

    十七、文本框

           1、输入正常的字母和数字

      2、输入已存在的文件的名称

      3、输入超长字符。

      4、输入默认值,空白,空格。

      5、若只允许输入字母,尝试输入数字;反之,尝试输入字母

      6、利用复制,粘贴等操作强制输入程序不允许的输入数据

      7、输入特殊字符集,例如,NUL及\n等

      8、输入不符合格式的数据,检查程序是否正常校验,如程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示。

    十八、上传功能检查

            1、上传下载文件检查:上传下载文件的功能是否实现,上传下载的文件是否有格式、大小要求、是否屏蔽exe.bat.

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

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

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

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

      6、确认没有上传资料点上传按钮是否有提示

      7、确认是否支持图片上传

      8、确认是否支持压缩包上传

      9、若是图片,是否支持所有的格式(.jpeg,.jpg,.gif,.png等)

      10、音频文件的格式是否支持(mp3,wav,mid,等)

      11、各种格式的视频文件是否支持

      12、上传文件的大小有无限制,上传时间用户是否可接受?

      13、是否支持批量上传?

      14、若在传输过程中,网络中断时,页面显示什么

      15、选择文件后,想取消上传功能,是否有删除按钮

      16、文件上传结束后,是否有提示信息并且能回到原来界面

    十九、添加功能检查

           1、正确输入相关内容,包括必填项,点添加按钮,记录是否成功添加

      2、必填项内容不填、其它项正确输入,点添加按钮,系统是否有相应提示

      3、内容项中输入空格,点添加按钮,记录能否添加成功

      4、内容项中输入系统中不允许出现的字符、点添加按钮,系统是否有相应提示

      5、内容项中输入HTML脚本,点添加按钮,记录能否添加成功

      6、仅填写必填项,点添加按钮,记录能否添加成功

      7、添加记录失败时,原填写内容是否保存

      8、新添加的记录是否排列在首行

      9、重复提交相同记录,系统是否有相应提示

    二十、删除功能检查

           1、选择任意一条记录,进行删除,能否删除成功

      2、选择不连续多条记录,进行删除,能否删除成功

      3、选择连续多条记录,进行删除,能否删除成功

      4、能否进行批量删除操作

      5、删除时,系统是否有确认删除的提示

    二十一、查询功能检查

           1、针对单个查询条件进行查询,系统能否查询出相关记录

      2、针对多个查询条件,进行组合查询,系统能否查询出相关记录

      3、系统能否支持模糊查询

      4、查询条件全部匹配时,系统能否查询出相关记录

      5、查询条件全为空时,系统能否查询出相关记录

      6、查询条件中输入%,系统能否查询出相关记录

      7、系统是否支持回车查询

      8、系统是否设置了重置查询的功能

    展开全文
  • 主要包含面试过程中的用例设计的相关。
  • (一)我编写的测试用例,会将其一步步转化成脚本插图(由于测试用例跟新了,此处就不贴了,我会在下面详细讲每个脚本的作用)(二)自动化脚本编写,与测试用例相对应 1.注册模块(HIL01-001) 注意下面将By by 和...

    (一)我编写的测试用例,会将其一步步转化成脚本

    插图(由于测试用例跟新了,此处就不贴了,我会在下面详细讲每个脚本的作用)

    (二)自动化脚本编写,与测试用例相对应

      1.注册模块(HIL01-001)

        注意下面将By by 和findElement方法进行了封装,你们也可以判断一下文本框是否可用之类的,在这儿,我省略了

    package com.siteTest;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.testng.annotations.Test;
    
    public class siteTest {
    	public WebDriver driver;
    	@Test
    	public void showBaidu(){
    		System.setProperty("webdriver.chrome.driver", "D:\\chromedriver_2.38\\chromedriver.exe");
    	    driver = new ChromeDriver();
    		driver.get("公司网站");
    	}
    	@Test(dependsOnMethods={"showBaidu"})
    	//用例HIL01-001,注册模块
    	public void zhuce(){
    		findEle(byStr("xpath","//*[@id='app']/div/div/div[1]/div/div[2]/div[3]/div[1]")).click();
    		try {
    			Thread.sleep(2000);
    		} catch (InterruptedException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		WebElement username = findEle(byStr("id","userName"));
    		username.sendKeys("wenl.sun@***.**");
    		WebElement password = findEle(byStr("id","password"));
    		password.sendKeys("Aa******");
    		WebElement repass = findEle(byStr("id","repeatPwd"));
    		repass.sendKeys("Aa******");
    		try {
    			Thread.sleep(2000);
    		} catch (InterruptedException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		findEle(byStr("className","ant-btn")).click();
    	}
    	//将By封装
    	public By byStr(String locator,String ele){
    		if(locator.equals("id")){
    			return By.id(ele);
    		}
    		if(locator.equals("xpath")){
    			return By.xpath(ele);
    		}
    		return By.className(ele);
    	}
    	//将findElement进行封装
    	public WebElement findEle(By by){
    		return driver.findElement(by);
    	}
    }
    

     2.注册模块(HIL01-003)

        我设想了两种情况的复制粘贴,一种是复制一个文本框中的内容粘贴到另一个文本框中(fail),另一种是从其他地方复制字符串到一个文本框中(pass)。

        我这里模拟了第一种复制粘贴的流程。

    //用例HIL01-003,测试输入框是否支持复制粘贴(模拟键盘操作)
    	public void isCopy() throws Exception{
    		findEle(byStr("xpath","//*[@id='app']/div/div/div[1]/div/div[2]/div[3]/div[1]")).click();
    		WebElement username = findEle(byStr("id","userName"));
    		username.sendKeys("username");
    		System.out.print("username是"+username.getText());
    		//以下是复制操作
    	   // username.sendKeys(Keys.CONTROL,"c");
    		//password.sendKeys(Keys.CONTROL,"v");
    	    try {
    			Thread.sleep(2000);
    		} catch (InterruptedException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    	     
    	    WebElement password = findEle(byStr("id","password"));
    		password.sendKeys("Aa123456");
    		WebElement repass = findEle(byStr("id","repeatPwd"));
    		String copyText = password.getText();
    		//声明一个StringSelection对象来接收要粘贴的内容
    		StringSelection strV = new StringSelection(copyText);		
    		//获取系统粘贴板
    		Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
    		//使用ToolKit对象的setContents将字符串strV放到粘贴板中
    		clipboard.setContents(strV, null);
    		//从系统粘贴板中获取文本
    		Transferable content = clipboard.getContents(null);
    		//判断是否为文本类型
    		if(content.isDataFlavorSupported(DataFlavor.stringFlavor)){
    			String text = (String)content.getTransferData(DataFlavor.stringFlavor);
    			if(text != null){
    				repass.sendKeys(text);
    				System.out.print(repass.getText());
    			}
    		}
    		try {
    			Thread.sleep(2000);
    		} catch (InterruptedException e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    				
    		findEle(byStr("className","ant-btn")).click();
    	}

    3.此测试脚本用于测试:每次用户在Client端进行注册时,当在web端登陆此账号,会更新设备数量信息,选中某个时间段,会显示总设备数


    主要展示下如何处理选择时间段:

    public void timeTest(){
    		findEle(byStr("className","ant-calendar-picker-input")).click();
    		findEle(byStr("className","ant-calendar-date-panel"));
    		List<WebElement> eles = driver.findElement(By.className("ant-calendar-date-panel")).findElements(By.className("ant-calendar-range-part"));
    		WebElement fromDate = eles.get(0).findElement(By.className("ant-calendar-input"));	
    		fromDate.sendKeys(Keys.CONTROL,"a");
    		fromDate.sendKeys("2018-02-24");	
    		//隐士等待
    		driver.manage().timeouts().implicitlyWait(5,TimeUnit.MILLISECONDS);
    		System.out.println(eles.size());
    		//此处大坑,必须加上这一行,不然在修改左边的时间的时候下拉框就关闭了,需要再点下下拉框
    		findEle(byStr("className","ant-calendar-picker-input")).click();
    		WebElement toDate = eles.get(1).findElement(By.xpath("/html/body/div[2]/div/div/div/div/div[1]/div[2]/div[1]/div/input"));
    		System.out.println(toDate.getAttribute("value"));
    		if(toDate.isEnabled()){
    			toDate.sendKeys(Keys.CONTROL,"a");
    			toDate.sendKeys("2018-05-24");
    		}
    		else{
    			System.out.println("nonon");
    		}		
    		//WebElement fromDate = findEle(byStr("className","ant-calendar-input"));
    		try {
    			Thread.sleep(2000);
    		} catch (InterruptedException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		if(findEle(byStr("xpath","//*[@id='app']/div/div[2]/div[2]/div/ul/li[1]/div/div[1]/h3")).getText().equals("1")){
    			System.out.println("信息正确");
    		}
    		else{
    			System.out.println("信息不正确,此处有bug");
    		}			
    	}

    4.从当前状态退出去,查看是否跳转到登录页面(涉及到悬停操作)

    //以下是退出当前账号,看是否跳转到登陆页面
    	public void exitLogin(){
    		WebElement ele = findEle(byStr("className","account-dropdown"));
    		Actions action = new Actions(driver);
    		action.moveToElement(ele).clickAndHold().perform();
    		try {
    			Thread.sleep(2000);
    		} catch (InterruptedException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		findEle(byStr("className","ant-dropdown-menu-item")).click();
    	}
    


    展开全文
  • 软件测试PC端web通用测试用例

    千次阅读 2021-01-07 15:07:46
    软件测试公共模块测试点 一、PC段测试: (一)安装/卸载 一)单独全新安装 (1)默认安装 (2)系统盘是FAT格式,安装到NTFS格式 (3)系统盘是NTFS格式,安装到FAT格式 (4)选择中文、中英文、英文、含特殊符号...
                      软件测试公共模块测试点
    

    一、PC段测试:
    (一)安装/卸载
    一)单独全新安装
    (1)默认安装
    (2)系统盘是FAT格式,安装到NTFS格式
    (3)系统盘是NTFS格式,安装到FAT格式
    (4)选择中文、中英文、英文、含特殊符号、超长路径、系统桌面、系统特殊目录、
    未格式化目录等等(浏览目录,或手动添加目录)
    (5)安装到不存在的目录下(手动写入目录)
    (6)安装到被保护的目录下(如杀软保护目录、卫士保护目录)
    (7)选择U盘、移动硬盘、光盘等目录
    (8)安装到映射盘符
    (9)安装到远程目录下
    (10)选择空间不足的目录
    (11)选择不可写的目录
    (12)非管理员下安装
    (13)安全模式下安装
    (14) 虚拟机下安装
    (15)运行安装包是否弹UAC提权
    (16)安装包版本号、签名
    (17)安装过程取消,再安装,反复多次安装
    二)非全新安装
    1)卸载后不重启,再进行安装
    (1)卸载干净不重启,再次进行安装
    (2)卸载不干净(如注册表有pending项)未重启,再次安装,安装后不重启,查看结果
    (3)卸载不干净(如注册表有pending项)未重启,再次安装,安装后重启机器,查看结果(需要查看是否丢失文件)
    2)覆盖安装
    (1)覆盖低版本
    (2)覆盖同版本
    (3)覆盖高版本
    (4)正在使用程序时(各窗口存在、正在查杀木马等),覆盖安装
    (5)正在升级时(如大包升级等),覆盖安装
    (6)修改配置文件后,覆盖安装
    (7)正在卸载时,运行覆盖安装
    (8)覆盖安装,选择不重启,查看功能
    (9)覆盖安装,选择重启,查看功能
    (8)文件被占坑时,覆盖安装 (检查是否写pending项)
    (9)以上各种覆盖安装时,是否可以更改目录?是否弹提示信息,提示信息是否正确?

     3)覆盖安装后,检查
    

    (1)数据及配置文件(是否保留覆盖前)、皮肤、PE、非PE等文件是否成功覆盖
    (2)检查注册表、控制面板、开始菜单、all user等各目录下,文件是否正确
    三)安装过程操作
    (1)安装协议检查(检查支持平台、内容是否经过法务部同意)
    (2)安装过程点,各界面是否可以“取消”
    (3)安装过程中,各界面按钮是否可用,如“上一步”、“下一步”
    (4)安装过程中,默认焦点显示
    (5)安装过程中,各界面文字显示是否正常
    (6)安装过程中,各界面最大化、最小化按钮
    (7)安装过程中,使用键盘TAB或Enter是否可响应
    (8)安装过程中,修改相关配置选项
    (9)安装过程中,有显示命令提示符,查看是否泄漏相关信息
    (10)安装过程重启机器、断电、关机,重启
    (11)安装过程中,重启explorer
    (12)安装过程中,再行运行多个安装程序
    (13)其他程序安装过程中,再进行安装
    (14)正在安装时,磁盘空间不够时
    (15)安装过程中,是否有提示加入体验计划(打点)选项
    (16)安装过程中,是否有提示安装完成后立刻启动选项

    四)安装完成检查
    (1)安装目录下释放出文件(PE或非PE)的版本号、签名是否正常
    (2)其他目录(如临时目录及 %appdata%、%driver%等) 释放的文件是否正常
    (3)跟其他内部产品交互部分(是否涉及到释放到其他产品目录下)等
    (4)涉及到修改注册表相关信息是否正常
    (5)桌面快捷方式、开始菜单、控制面板(显示卸载大小、版本号等)是否正常
    (6)安装完成后未启动运行程序,是否向服务器发送安装日志(检查返回正确的pid和mid信息)
    (7)安装完成后,能否正常启动运行程序
    (8)安装完成后,检查默认配置值或修改配置后显示是否正常
    (9)安装完成后启动运行程序,是否向服务器发送运行日志检查返回正确的pid和mid信息)

    五)卸载
    (1)正常卸载
    -----注册表、控制面板、开始菜单、本地文件、驱动文件、all user等各目录下是否完全删除
    (2)正在使用中卸载----正常卸载(进程是否全部退出)
    (3)文件被占坑时卸载------无法删除是否写pending项
    (4)正在卸载时重启机器----卸载失败
    (5)卸载不重启,注销,使用windows----不出现异常
    (6)升级过程中卸载------能正常卸载,卸载后不影响继续安装
    (7)卸载不重启,再安装,安装后重启,查看基本功能是否正常
    (8)卸载不重启,再安装,安装后不重启,查看基本功能是否正常
    (9)非管理员卸载----不能卸载应提示权限不够,无法卸载
    (10)安装不重启卸载,卸载后不影响继续安装----功能正常
    (11)安全模式下,卸载
    (12)卫士开保护下,卸载
    (13)卸载不干净时,是否写pending项,是否提示重启机器
    (14)接13,卸载不干净时,再做各种操作,查看是否正常(如插入手机或各入口点击启动程序等)
    (15)卸载时是否提示删除数据配置文件等
    (16)命令行卸载是否支持(部分产品有命令行卸载功能)
    (17)卸载是否汇报?
    (18)卸载是否有调查?

    (二)汇报
    (1)安装后不启动运行主程序
    (2)安装后第一次启动运行主程序
    (3)每次手动运行主程序
    (4)开机自启动运行(是否立刻打点汇报,还是延迟汇报)
    (5)启动后,使用每个模块功能(是否重复汇报)
    (6)卸载程序
    (7)触发升级,查看汇报
    (8)提示框各个链接、按钮汇报
    (9)是否有加入“体验计划”的选择项
    (10)不勾选“体验计划”,是否打点
    (11)选择“体验计划”,是否打点
    (12)“体验计划”说明文档是否符合法律(需要法务部确认)
    (13)汇报查看是否涉及隐私信息
    ( 1、涉及用户名、密码
    2、是否加密----需要确认是否需要加密
    3、用户相关信息如(手机型号、厂商、PC机CPU、常用软件等)
    4、上传信息中带文件路径等,如“c:\test\test.txt”等
    5、用户使用习惯-------如使用QQ多少次等)
    (14)汇报内容是否正常
    (如是否缺失“&”分隔符是否正常,是否缺失字符等)

    (三)升级测试
    1)升级范围
    (1)数据文件升级(非PE)
    (2)程序文件升级(PE)
    (3)大包升级(包括强制升级包)
    (4)低版本向当前版本升级
    (5)当前版本向更高版本升级
    2)升级基本点
    (1)检测升级触发条件是否可接受(每日升级弹窗次数?)
    (2)检测升级判断条件是否符合 (低版本->高版本升级;不存在高版本->低版本或同版本升级)
    (3)弹出升级提示框的提示信息、功能等是否正确 (如强制升级提示,具体见弹窗用例)
    (4)正在使用程序(如正在扫描或打开其他窗口等)时升级
    (5)升级到一半终止升级(如重启机器、重启程序),下次是否可以正常升级
    (6)升级包签名校验
    (7)全屏或游戏模式下,是否升级 (避免强制退出全屏)
    (8)开机自动启动程序后,是否立刻升级(影响启动速度)----一般延迟几分钟触发升级
    (9)升级开关(是否有相关开关控制;是否有强制升级包)
    (10)断网时,触发升级,是否频繁访问网络
    (11)升级过程中断网,查看是否有提示信息
    (12)网络不好情况下,升级超时是否有提示
    (13)有多种方式升级,满足多个条件触发升级时,是否存在多个提示框(如手动点击触发提示,提示框在时再触发强制升级等)
    (14)升级成功后,检查
    各数据配置文件、注册表、PE等文件是否能更新;
    升级后是否可以正常运行
    升级后再次触发升级
    (15)不通网络下升级(ADSL、wifi等)
    (16)发布升级时,需要服务器压力(让产品研发跟OPS沟通)

    (四)弹窗测试
    (1)检测触发弹窗时机 (弹窗次数、天数? 是否可配置可控制?)
    (2)检测触发弹窗条件是否符合(如黑名单中的软件不应出现提示升级窗口中等)
    (3)检测程序如设置中心,是否有相关控制开关?默认情况?
    (4)弹窗时,用户是否可以选择不再提示等入口选项
    (5)弹窗时,是否抢焦点
    (6)弹窗时,查看各个按钮是否正常
    (7)弹窗时,查看文字信息是否正确
    (8)弹窗时,拖动窗口
    (9)弹窗时,不手动关闭,能否自动关闭 (自动消失时间是否可配置)
    (10)弹窗时,不关闭,下次触发弹窗,是否重复弹窗
    (11)弹窗显示位置 (中间、右下角? 是否可配置?)
    (12)弹窗时有自动消失功能时,若鼠标放到提示框上是否还消失?
    (11)弹窗时,是否被内部产品及竞争产品覆盖
    (12)弹窗时,点击提示框各个链接或按钮,汇报打点
    (13)全屏或游戏模式下,是否仍弹窗
    (14)断网情况下,是否继续触发弹出?
    (15)弹窗时,断开网络
    (16)弹窗时,不做任何操作,重启主程序,重启机器
    (17)弹窗时,卸载程序
    (18)弹窗依赖的配置文件丢失或配置错误值,如何处理(按默认值处理)
    (19)不同分辨率下弹窗,查看窗口大小、文字显示情况
    (20)弹窗需要陈杰、老周审批,经同意后方可发布
    (21)评估弹窗压力 (量大时需要通知OPS)
    (22)QQ管家、金山卫士等存在开启拦截时,查看弹窗是否被拦截

    (五)下载
    网络问题
    (1)断网下,下载
    (2)下载过程中断网
    (3)网络不好时,下载
    (4)不同网络环境下,下载(如代理、无线、ADSL、拨号)

    下载不同格式、大小的文件
    (5)下载不同大小的文件(0KB、超大文件)
    (6)下载不同格式的文件
    (7)同时下载多个文件 (最多下载个数限制?)
    (8)重复下载同个文件
    (9)已下载文件设置只读或占坑,再次下载同个文件,能否覆盖成功
    (10)下载大于4G文件到Fat32格式下,下载失败是否提示?

    下载路径(参考设置路径,特别注意)
    (10)下载到不同目录下(移动硬盘、本地不同盘符等)
    (11)下载到不可写目录下
    (12)下载到空间不够目录下(下载前磁盘空间不够)
    (13)下载过程中,磁盘空间不够
    (14)下载到不存在的路径下(先设置下载目录,后删除目录)

    下载过程操作
    (15)下载过程中,断网
    (16)下载过程中,重启程序
    (17)下载过程中,重启机器
    (18)下载过程中,删除正在下载的文件
    (19)下载过程中,更改下载路径
    (20)下载过程中,删除下载目录
    (21)下载过程中,多次取消-重复下载
    (22)下载过程中,卸载程序
    (23)下载过程中,覆盖安装
    (24)下载过程中,切换TAB、或操作其他功能是否有影响
    (25)下载过程中,结束LiveUpdate360.exe
    (26)卫士不存在,下载时调用LiveUpdate360.exe? 退出、重启程序但不进入下载,查看LiveUpdate360.exe是否自动启动?
    (27)下载URL(可输入时),输入超长、带特殊符号、不存在等地址下载

    (六)设置路径
    默认路径
    (1)检查默认路径(是否选择最大可读可写磁盘)
    (2)下载到默认路径,查看情况
    (3)默认路径没有磁盘空间,再下载
    (4)删除默认路径,再下载
    (5)默认路径没有可读写权限,再下载

    选择不同目录
    (1)通过“浏览”选择不同路径(本地不同格式磁盘、移动硬盘、光盘、网络磁盘、
    超长路径、含特殊字符路径、中文、英文、中英文、半角、全角、网络磁盘、系统桌面、系统目录等)
    (2)通过手动输入
    输入存在路径-------同上
    输入存在、不存在的目录-----能否自动创建
    输入错误路径(如含/ \ : * ? “ < > |或D:\等)
    输入全空路径
    不输入任何路径,选择确定
    (3)输入或“浏览”选择不可写目录
    (4)输入或“浏览”选择磁盘空间不够目录
    (5)输入或“浏览”加密的目录
    (6)输入或“浏览”只读目录
    (7)输入或“浏览”到没有格式化的目录下
    (8)输入或“浏览”到杀软被保护的目录下
    (9)输入或“浏览”到同类产品被保护的目录下(如PC桌面选择安装到卫士目录下)

    设置路径后做其他操作
    

    (5)输入或“浏览”到移动存储后,再拔出移动存储,再下载等操作
    (6)选择路径后,手动删除目录再操作,查看是否可以动态创建路径?
    (7)接6,删除目录后,重启程序,查看是否恢复默认路径?
    (8)接6,删除目录后,覆盖安装,查看是否恢复默认路径?
    (9)更改目录后,是否可以恢复到默认路径?
    (10)设置路径后,是否可以成功打开指定的路径?
    (11)提权/未提权情况下,修改路径,修改后查看是否能成功下载到目录?

    (七)搜索
    输入不同字符搜索
    (1)输入全空格(容易出错崩溃,如果程序没做处理)
    (2)输入前后加空格
    (3)输入中间加空格
    (4)输入大小写、中文、英文、数字或各种组合测试
    (5)输入超长字符
    (6)输入带特殊字符、html标签、标点符号等
    (7)不输入任何字符搜索
    (8)输入全角/半角中文字符(一个字符、超长字符、已经信息字符)
    (9)输入全角/半角英文字符(一个字符、超长字符、已经信息字符)
    (10)输入全角/半角特殊字符~!@#$%^&*()_+|{}:"<>?.,;’[]=-(注意单引号经常会发现bug)
    (11)输入全角/半角中英文空格
    (12)输入html语言
    (13)输入特殊字符串NULL、null、 空格的转义字 符;<scrīpt></scrīpt>;
    ;;;< /tr>;;;;
    (14)输入javascript
    (15)是否支持enter键,是否有默认输入点
    (16)在同一个页面连续搜索
    (17)输入过关键字后,重启程序或切换TAB,查看默认显示(记住关键字还是空)
    (18)输入谐音关键字、拼音等
    (19)输入关键字含有的字或字符(如“360”、“安全”、“卫士”等),查看结果页
    (20)同关键字重复搜索
    (21)搜索下拉菜单显示(是否记录最近搜索关键、按拼音排序?)

    查看结果页
    (17)查看搜索结果的反应时间
    (18)搜索结果要与原网对照的,要看看网页内容有没有乱码,每页或者末页的最后一条信息是否一 致,是否丢失信息
    (19)结果页查看页码是否有问题,有的搜索结果是虚的,翻到最后页码发生变化
    (20)结果页查看排序(按字母、按使用频率)
    (21)在结果页中搜索
    (22)搜索后,再输入关键字,查看下拉菜单记录(按拼音排序?)
    (23)确认搜索结果跟预期搜索方式是否一致(需要跟后台及研发相关人员确认)
    标准分词:中文按词组分拆,英文按标点或空格进行分拆;
    自然分词:中文按字分拆,英文按标点或空格进行分拆;
    不分词 :不进行分拆,原样输出;
    域名分词:按“."进行分拆,如:sina.com.cn分拆成sina com cn;
    标点分词:仅按标点或空格进行分拆;
    分词结果:包含切分出的词、标点和停用词,结合词中间用“-”连接;
    检索策略:去掉了标点和停用词,仅包含切分出的词。
    http://10.102.16.97:9000/wordSegment.htm

    搜索过程做其他操作
    (1)搜索过程中,退出程序
    (2)断网时,搜索
    (3)搜索过程中,断网
    (4)搜索过程中,重启机器
    (5)搜索过程中,卸载
    (6)搜索过程中,再输入其他关键字
    (7)搜索过程中,来回切换TAB或操作其他
    (8)搜索过程中,多次停止再搜索

    (八)注入到Explorer.exe
    (1)确认注入方式
    (2)第一次全新注入,验证
    a.使用procexp.exe查看Explorer.exe是否被成功注入DLL,查看DLL版本号是否正确
    b.成功注入后,查看基本功能是否实现
    c.成功注入后,查看Explorer.exe的CPU、内存、对象句柄等
    d.成功注入后,查看各功能模块占用CPU、内存情况
    e.注入到Explorer.exe成功后,注销、重启机器、切换用户或关机等是否正常
    f.成功注入后,查看系统功能(如修改分辨率、字体大小等)是否异常
    h.成功注入后,特殊平台(如win7),查看特效功能是否正常等
    i.成功注入后,查看是否存在卡,系统图标显示异常、Explorer崩溃等情况
    j.成功注入后,查看是否对其他有注入模块功能受影响(如网盾等),怕摘错钩子
    k.成功注入后,验证主流网银是否有影响
    -------网银存在好多插件,是否受影响
    (3)退出主程序,查看DLL是否从Explorer.exe中卸载(不应多次卸载)
    (4)多次退出启动主程序,查看Explorer.exe中Dll的变化,Explorer是否存在崩溃现
    象(不应多次卸载再加载)
    (5)不同平台下(特别是64位系统),注入到Explorer.exe,查看功能等是否正常
    -------注意,64位下的DLL名称要区分与32位
    (6)主流杀软开启防护,注入时查看是否被拦截
    (7)同类产品(如QQ、金山)共存时,注入查看是否异常
    (8)卸载程序,查看DLL是否从Explorer.exe中卸载,是否导致崩溃等
    (9)卸载不重启,再安装同版本,安装后不重启,查看基本功能
    (10)卸载不重启,再安装同版本,安装后重启,查看基本功能
    (11)卸载后重启,查看DLL是否能卸载干净
    (12)卸载后不重启,安装新版本(捆帮新DLL模拟升级),安装后不重启,查看基本功能
    -------Explorer保留老版本,不加载新版? 还是卸载老版加载新版?还是重启后才覆盖使用新的DLL?需要跟研发确认。一般做法检测到Explorer有老版不卸载,不注入新DLL,重启后再使用新的DLL,但要保证此DLL跟其他文件兼容
    (13)卸载后不重启,安装新版本(捆帮新DLL模拟升级),安装后重启,查看基本功能
    (14)注入的DLL进行V3(需要配置flag值,一般是升级后重启生效)
    (15)多个版本的DLL,需要考虑覆盖各版本主要的老版DLL,需要兼容
    (16)注入失败时,如何处理(崩溃? 功能不可使用?)是否有提示信息?
    (17)加载Load时,此Dll丢失(如桌面不在保护列表中),查看异常情况
    (18)DLL签名校验等,查看checklist

    (九)数据文件测试
    (一)文件大小、字段含义
    前提:
    1) 需求沟通时,明确容量范围(如应用做多支持?壁纸最多支持多少张? 文件最大值?)
    2) 跟研发确认实现逻辑,最终容量范围,是否有其他因为保护措施增加范围或大小限制? 数据文件中各字段的含义,容错处理?
    (十)测试点:
    1) 正常范围测试,确保各功能正常(略)
    2) 数据文件丢失不存在
    3) 数据文件超大(可以手动修改数据文件创造超大文件,有时界面层已经做限制无法输入超长,但因为与其他模块有交互,其他模块导致数据文件超大,如管家和主防,主放日志会产生很大没有做限制,但管家自己界面层有控制,在读取主防日志时没有控制大小,导致慢卡崩溃等问题)
    4) 数据文件被破坏(手动用其他文件命名为当前数据文件名,但内容不一样)
    5) 修改或产生数据文件的各个操作入口
    6) 读取数据文件失败/超时处理
    7) 数据文件中各字段验证(中文、英文、中英文、特殊字符等结合、为空、超长、部分乱码、非规定的类型、部分字段节点不存在等)
    8) 对数据文件中字段大小(验证为负数、0、正数、超大数、非数字等),例如config.nxdb
    中存在字段x,y 表示屏幕横竖坐标,当时需求、程序设计及测试都认为不可能存在负数情况,最小是0,0,但实际用户那里就碰到负数情况,在屏幕外显示,查看config.nxdb,x=-190, y=-2330等,对于数据中各字段,需要考虑人工手工制造不同类型,不同数据值的测试,手动修改底层数据进行相关测试
    9) 数据文件中字段缺失考虑(如部分数据库文件,有各个列表字段,如果其中一个字段写入为空或写入一些异常数据),手动修改底层数据文件的各列表字段,考虑容错情况
    10)文件超大时,注意是否存在卡、慢等问题,需要沟通确认程序实现逻辑?
    11)文件超大时,注意是否存在内存越界、Jason抛异常等处理?

    (二)数据文件乱码检查
    (十一)目地
    检查dat\xml\nxdb等数据文件,如中文、特殊字符等读写操作,读写后程序是否进行转码处理,处理后检查文件中是否存在乱码;
    (十二)测试点
    1)涉及文件读写时,要分别测试中文,英文,特殊字符,超长路径等情况;
    2)读写后,打开数据文件,检查是否存在乱码,如果是需要跟研发确认修改;另外注意长路径是否存在折行等影响(数据文件读写,有转码问题,如写文件时,调用系统API函数,进行Unicode—>UTF-8 转换;读文件时,调用系统API函数,进行UTF-8----->Unicode转换,如果其中一个没调用就会出现乱码等问题,另外ASCIII码等转换也要注意,最好跟研发详细沟通实现细节)
    3) 仅1-2次操作有时不会重现问题,需要反复多次操作,查看是否有问题
    4)注意重启程序(有的程序设计只是在退出程序时才保存一次到本地,不退出程序时都保存在内存)再操作,查看读写保存文件是否正常
    5)文件是否加密,如果是加密,读写后需要解密后,查看文件是否有乱码
    6)区域更改(如繁体等)

    (三)数据文件权限
    1)文件设置成只读(属性—安全,勾选只读),查看是否写成功 (一般程序处理先去掉只读)
    2)文件设置为不能读写,查看是否写成功
    3)文件所在的目录设置为只读/不能读写,查看是否可以成功创建文件
    可以使用工具10.125/g-qa-new/360desktop/tool/修改文件属性/

    二、网页测试通用测试用例
    (1)新增
    用例目的 操作步骤 输入数据
    调用数据 期望结果

    测试是否能正常进行新增? 执行新增操作 输入必填字段 能正常完成新增操作。

    测试界面上必填字段控制与数据库必填控制是否一致? 只填写界面上标识的必填字段(即标识*号)号的字段。 能够正常进行保存。

    测试当因任何原因无法提交时,原输入的内容是否保存? 输入相关数据后,进行保存。 制造提交失败的数据。 提交失败后,界面的数据仍保留,不会清空。

    测试新增记录是否排在首行? 执行新增操作 对排序没有特殊要求的界面 满足新增记录排在首行的规则。

    测试是否对重复值进行了判断? 执行新增操作,关键字段与数据库中已存在的值重复。 给予‘XX已存在,请重新输入’的提示信息。

    测试是否对各字段的长度进行了限制。 执行新增操作 各输入的值都大于表中定义的长度 在各输入框中,输入的内容达到所定义的长度时,则限制无法输入了。(如果输入的为中文字符,则控制到一半的长时就够了)

    测试是否对日期型数据进行了格式化输入? 存在日期型数据 进行了格式化输入,不可以输入非正常日期之外的数据。

    测试对日期数据的溢出进行了控制? 存在日期型数据,
    输入的值为1899-01-01或2999-01-01 给予提示信息,不允许提交。

    测试是否对时间型数据进行了格式化输入 存在时间型数据 进行了格式化输入,不可以输入非时间之外的数据。

    测试是否对数值型数据进行了格式化输入 非负整型数据 1、输入正常的正整数
    2、输入0、负数、小数
    3、输入超大值(超出该字段定义范围)
    4、输入非数值(如数值+字符;字符+数值;纯字符) 进行了格式化输入控制;
    1、能够正常输入
    2、不允许输入
    3、给予提示信息
    4、不允许输入或提交时给予提示信息。

    同上 整型数据 1、输入正整数、0、负整数
    2、输入小数
    3、输入超大值(超出该字段定义范围)
    4、输入非数值(如数值+字符;字符+数值;纯字符) 进行了格式化输入控制:
    1、能够正常输入
    2、不允许输入
    3、给予提示信息
    4、不允许输入或提交给予提示信息。

    同上 浮点型数据 1、输入正数、0、负数
    2、输入超大值(超出该字段定义范围)
    3、输入超出精度范围值(超出该字段定义精度)
    4、输入非数值(如数值+字符;字符+数值;纯字符) 进行了格式化输入控制:
    1、能够正常输入
    2、给予提示信息
    3、给予提示信息
    4、不允许输入或提交给予提示信息。

    测试是否对各输入框的非法字符进行了控制(请将此数据作为修改的一个用例)。 操作新增操作 在各输入框中,输入@#$%^&*()

    ~%[]-/’等。 1、不允许输入或提示‘你输入的 **中存在非法字符,请重新输入’,光标停留在待输入的输入框处。
    2、允许输入保存后,能够正常回显。

    测试对各输入框中,输入内容的前后空格是否进行了处理? 在各输入框中输入相应的值进行新增保存。 1、前面存在空格
    2、后面存在空格
    3、前/后都存在空格
    4、中间存在空格 1、2、3能够正常去掉空格保存;4连同空格一起进行保存。

    测试在多行文本框中,是否允许存在回车符? 在多行文本框中输入文字及回车进行保存。 存在一个或多个回车键 能够正常进行保存及回显

    测试针对特殊字段限制是否正常? 1、主页地址
    2、电话号码
    3、E-mail地址 1、主页地址中可输入
    2、电话号码中可输入-
    3、E-mail地址中中输入@

    测试是否对必填字段进行了检查。 同上 关键字段不输入或输入空格。 提示‘请输入XX,光标停留在第一个需输入的输入框处。

    测试点击取消(返回)时是否会给予相应的提示 点击‘新增’按钮,在弹出的页面中,输入及选择相应信息,点击取消(返回)按钮。 给予‘是否需要保存’的提示

    测试在任何情况下,是否可取消保存 点击‘新增’按钮,在弹出的页面中,输入及选择相应信息,在弹出的提示中,选择取消按钮 输入相应的内容 回到原记录所在页面,不更新任何值。

    测试多次操作后的确认保存判断是否正确? 点击‘新增’按钮,在弹出的页面中,输入及选择相应信息,点击取消(返回)按钮,在弹出的提示框中,选择确定按钮 任一关键字段没有进行输入。 给予XX必须输入的提示信息。

    测试在任何情况下,点击取消(返回)按钮后,能否再保存信息 点击‘新增’按钮,在弹出的页面,输入及选择相应信息,取消(返回)按钮,在弹出的提示框中,再选择确定按钮 输入相应的内容 提示‘保存成功!’返回到原页面首页首行显示新增的记录。

    测试新增情况下,如提供了重置功能,重置后是否能够正常保存? 点击‘新增’按钮,再点击重置,输入相关数据后,进行保存。 此界面对应的表中存在默认生成的必填字段。 能够正常进行保存。

    测试在新增情况下,如果提供了重置功能,重置后的数据是否正常? 点击新增按钮,再点击重置。 此界面对应的有新增后默认生成的数据。 能够清空已输入的数据,但不清空新增时默认生成的数据。

    (2)修改
    测试是否能正常进行修改操作? 勾选一条记录,进行修改保存。 能够正常进行修改保存,更新数据库中相应的值。

    测试是否对无选择记录进行修改做了控制。 未选择记录,点击修改按钮。 提示‘请选择一条记录!’或修改按钮呈灰色显示或默认选中第一条记录

    测试是否对重复的记录进行了控制。 选择一条记录,点击修改按钮,进行修改,点击确定按钮。 不修改任何内容 提示‘保存成功!’,不进行更新,返回到原记录所在位置。

    同上 同上 将关键字段修改成一个已存在的值。 提示‘该XX已存在,请重新输入 !’,光标停在XX输入框处

    测试点击修改调出来的信息是否正确,是否可正常进行修改,且返回到正确的页面。 翻页后,选择一条记录,点击修改按钮,进行修改,点击确定按钮。 修改各数据 提示‘保存成功!’,返回到原记录所在位置,界面上显示修改后的值。

    测试取消修改时是否会给予提示 选择一条记录,点击修改按钮,再点击返回按钮 不修改任何内容 直接返回原记录所在页

    同上 选择一条记录,点击修改按钮,进行修改,再点击返回按钮 提示‘是否需要保存’。

    测试是否可以取消修改 选择一条记录,点击修改按钮,进行修改,点击取消(返回)按钮,在弹出的提示框中,选择取消按钮 停留在修改页面。

    同上 选择一条记录,点击修改按钮,进行修改,点击确定后,再点击返回按钮,在弹出的提示框中,选择取消按钮 同上

    测试修改返回时能否再进行保存 选择一条记录,点击修改按钮,进行修改,点击取消(返回)按钮,在弹出的提示框中,选择确定按钮 执行保存的操作

    测试是否对勾选多个记录进行修改进行了控制。 勾选多条记录,点击修改按钮。 提示‘您选择了多条记录,系统将修改第一条记录,且弹出第一条记录进行修改

    测试当多行文本框中存在换行符时,重新进行加载时,是否正常? 存在多行文本框中输入内容,且按回车进行换行。 1、用多行文本框进行回显;
    2、用单行文件框进行回显。 能够正常进行显示。

    测试当被调用的数据被置为无效或被删除时,修改时是否正常? 选择一条记录进行修改保存 1、该界面调用其它界面的数据。
    2、被调用的数据已被删除或修改。 能够正常进行修改保存

    (3)保存
    测试是否限制了重复保存? 进行新增或修改操作,输入相关内容后,多次提交保存操作。 在提交反馈之前,按钮呈灰色显示不允许点击。

    测试当保存操作所费时间较长时,是否能提供进度条? 进行保存操作。 当反馈时间达到12S以上时。 给予‘正在处理中’的进度条提示。

    (4)删除
    测试是否能正常进行删除操作? 选择一条记录,执行删除操作。 能够正常完成删除操作。

    测试是否对无选择记录进行删除做了控制。 不选择任何记录,直接点击删除按钮。 提示‘请选择一条记录!’或删除按钮呈灰色显示或默认选择一条记录

    测试删除时是否会给予相应的提示,并按所选项执行。 选择一条记录,点击删除按钮。 提示‘您是否真的要删除所选中的记录?’,点击取消,不进行任何操作,回到原界面,点击确定删除,界面刷新不显示此条记录,停留在所删除记录所在页,总记录数-1。

    测试删除边界值是否正常。 设置条件查询出记录后翻页,选择一条记录,点击删除按钮并确定删除。 翻页后,只存在一条记录 界面正常刷新至上一页,页数等于原页数-1。

    测试是否可以进行批量删除多条数据。 勾选多条记录,点击删除按钮,在弹出的提示框中,点击确定。 能够正常批量删除多条数据。

    测试当删除相关连的信息时,是否给予明确的提示信息? 选择记录进行删除 1、所删除记录被其它引用,不允许被删除。
    2、所删除记录被其它引用,允许被删除。 1、给予明确提示信息,不允许被删除(不给予确认删除的提示信息)
    2、给予明确提示信息,让用户确认是否删除,可选择是否继续。

    (5)查询
    测试在该查询页面,是否提供了用户最常关注的字段作为查询条件? 已提供各关键字段作为查询条件.

    测试按各查询条件是否都能够查询出相应的值. 单独遍历各查询条件. 各查询条件下都存在相应的值. 查询出符合条件的记录

    测试执行查询操作后,查询条件是否能保留? 设置界面上的所有查询条件进行查询,单击查询按钮. 能够执行查询,且已输入/选择的查询条件能够保留.

    测试是否能够实现组合查询. 随机对各查询条件进行组合查询 各查询条件下存在相应的值. 同上

    测试是否能够实现糊模查询. 在各字符串类型字段中输入非精确值进行查询. 同上 同上

    测试存在相关联的查询条件时,更换查询条件时是否能正常更新? 设置A及B查询查询条件,再变更A查询条件. B查询条件是根据A查询条件加载的值(可延伸至多个相互关联的条件) B查询条件更新为’请选择’,需根据A查询条件重新进行选择.

    测试存在日期型查询字段时,查询是否正确? 输入查询值 存在输入范围内的记录. 同上

    测试边界值查询是否正常? 同上 存在等于开始日期或等于结束日期的记录 能够查询出等于开始日期或结束日期的记录.

    测试当存在开始日期及结束日期进行查询时,是否对其进行了逻辑判断? 输入查询值 1、开始日期大于结束日期
    2、开始日期等于结束日期
    3、开始日期小于结束日期,但两者格式不一致。 1、给予提示信息。
    2、能够正常查询。
    3、进行格式化后能够正常查询

    测试对日期型字段查询时,是否进行了溢出控制? 输入1890-01-01或2999-01-01进行查询. 查询不到任何记录.

    测试对日期型字段查询时,是否对非法数据进行了控制 输入非完整的日期或其它数据. 进行了格式化输入或给予明确提示

    测试存在数值型查询字段时,查询结果否正确? 输入查询值 根据所配对的布尔表达式查询出相应的值。

    测试存在数值型查询字段时,查询结果是否正确? 输入查询的边界值 选择各布尔表达式。 同上。

    测试存在数值型查询字段时,是否进行了溢出控制? 1、输入超大值,进行查询
    2、输入超出精度的数据,进行查询 能够给予正确提示,不会出错。

    测试存在数值型查询条件时,是否对非法数据进行了控制? 输入非数值数据进行查询 能够给予正确提示,不会出错或不允许输入

    测试存在布尔或枚举型查询字段时,对默认值查询是否正确? 按布尔或枚举型查询字段默认进行查询。 能够查询出相应的值。

    测试存在布尔或枚举型查询字段时,对非默认值查询是否正确? 按布尔或枚举型查询字段非默认进行查询。 能够查询相应的值。

    测试存在布尔或枚举型查询字段时,列表中的值进行切换,查询结果显示是否正确? 按布尔或枚举值进行查询后,再切换条件。 1、切换的时候自动进行查询。
    2、切换后再点击查询按钮时才进行查询。

    测试是否控制了各种非法字符的查询。 输入@#$%^&*()

    ~’"%-like=?等符号 查询不到任何记录.

    测试各查询条件查询出记录后再切换条件查询是否正确。 设置条件查询出记录后,翻到最后一页,再更改查询条件。 第一个查询条件查询出来的记录页数必须多于第二个查询条件查询出来的记录页数。 查询出相应的记录

    同上 设置条件查询记录后,选择最后一条记录,再更改查询查询条件 两次查询出来的记录都必须不超过一页,且第一次查询出来的记录多于第二次查询出来的记录 查询出相应的记录

    测试在查询条件下修改返回是否正常 设置查询条件查询出记录后,翻页,修改该记录,再进行保存 修改该记录为满足查询条件 返回原记录所在位置,查询条件保留

    同上 设置查询条件查询出记录后,翻到最后一页,修改该记录,再进行保存 修改该为不满足查询条件,最后一页只有一条记录 返回原记录所在页面,查询条件保留,不显示该记录,总页数,总记录显示正常

    测试切换查询条件时,原先输入/选择的查询值是否会清空 设置条件查询出记录后,再更换为其它查询条件。 清空原输入的内容/原选择的值也复位为默认状态。

    测试未查询到任何记录时,是否会给予相应的提示 设置查询条件,点击查询按钮 该查询条件下无任何记录 提示‘未查到任何记录,请放大查询条件试试!’

    测试是否支持回车查询 设置查询条件,按回车键 执行查询条件。

    测试选中记录后,再执行查询操作,是否会清空已有的选中 选中一条记录后,再执行任意查询操作 取消被选中记录前的勾选

    测试每次查询是否都重新定位到首页首行? 翻页后,重新执行查询操作. 自动刷新新的查询结果,且从首页开始显示;且如有光标定位,则定位在首行。

    测试是否提供了重置查询条件的功能? 提供重置功能,且重置后,已输入或已选择的值都恢复为默认值.

    (6)翻页
    测试是否能执行翻页操作? 输入页数,点击go按钮。 能够正常转向所输入的页面,且当前页数及当前页的数据显示正确。

    测试执行翻页操作后,如存在枚举型的查询条件,界面加载是否正确? 同上 能够正常加载界面上的各查询条件的下拉列表中的值。

    测试各页面转换是否正常? 点击首页、上一页、下一页、未页。 能够正常进行转向,且当前页数及当前页的数据显示正确。

    测试在各边界面值再进行翻页是否正确? 1、已在首页,点击首页或上一页;
    2、已在未页,点击未页或下一页; 能够正常提示或不会报错,当前页数及当前页的数据显示正确。

    测试是否对所输入的页数进行了判断? 输入页数,点击go按钮。 1、输入非正整数
    2、输入超出的页数
    3、输入超大的数值。 1、限制不允许输入;
    2、3自动转到未页或给予提示;

    测试翻页后,选中记录是否保持选中 勾选部分记录后,再翻页 视需求定原选中的记录是否保持选中。

    测试在查询条件下修改返回是否正常 设置查询条件查询出记录后,翻页,修改该记录,再进行保存 修改该记录为满足查询条件 返回原记录所在位置,查询条件保留

    同上 设置查询条件查询出记录后,翻到最后一页,修改该记录,再进行保存 修改该为不满足查询条件,最后一页只有一条记录 返回原记录所在页面,查询条件保留,不显示该记录,总页面,总记录显示正常

    同上 设置查询条件查询出记录后,再翻页,新增一条记录保存。 新增的记录不满足查询条件 返回首页,不显示新增的记录查询条件保留

    测试翻页后的页面定位是否正常? 打开过新的子窗口,且没有关闭,执行翻页操作。 能够正常翻页,翻页后在原有页面有显示。

    测试翻页后打开子页面是否正确? 进行翻页,打开某记录的子页面。 能够正常打印子窗口,且子页面也如存在分页数据,应重新定位从首页开始显示。

    测试翻页后进行任何操作返回是否正常? 进行翻页后,对当前页的数据进行任意操作. 进行操作后,能够正常更新数据,且保留在当前页.

    测试翻页后进行任何操作返回是否正常? 进行翻页后,选择当前页的某记录弹出窗口进行操作. 操作的结果影响原界面的数据. 返回后能正常刷新当前页数据,且保留在当前页。

    (7)全选
    测试是否实现了全选当前页的功能 点击全选按钮 部分记录已被选中 当前页的全部记录被选中

    测试全选按钮勾选状态变更是否正确? 点击全选按钮后,再点击全选按钮 当前页的全部记录被取消选中,全选按钮被取消选中

    测试全选按钮勾选状态变更是否正确? 点击全选按钮后,再去掉某些记录的勾选。 当前页的全选按钮取消选中。

    测试全选按钮勾选状态变更是否正确? 将当前页的所有记录单个单个全部勾选 当前页的全选按钮被选中。

    (8)文件上传
    测试是否可以正常进行文件上传? 选择一个所支持的格式进行上传操作。 文件大小符合要求。 能够正常进行上传,在上传过程中,不允许再点击上传按钮。

    测试超出大小的文件上传是否控制? 同上 文件大小超出限制 提示‘文件大小不允许超出XXMB,请重新选择’

    测试0KB的文件上传是否正常? 同上 文件大小为0KB 提示‘文件大小不允许为0KB,请重新选择’。

    测试不支持的文件格式上传是否控制? 选择一个所不支持格式的文件进行上传操作。 提示‘系统不支持XX格式的文件上传,请重新选择’

    测试手工输入一个不存在的文件上传控制是否正常? 1、手工输入一个路径地址,点击上传按钮。
    2、手工输入一个文件名,点击上传按钮。 此文件不存在 提示‘文件不存在,请重新选择’。

    测试上传失败后,是否还能继续上传? 上一次上传失败后,再进行上传操作。 能够正常进行上传。

    (9)数据导入
    测试是否能够完成数据导入功能? 选择一个文件,点击上传按钮 文件内的数据都符合格式。 能够正常完成导入,导入成功后,给予明确的提示信息。

    测试导入文件中的数据异常,导入是否能正确判断? 同上 文件内的数据部分符合要求,部分不符合要求。 检查完后,能够给予有多少不符合条件的记录提示,且可以点击链接查看具体不符合条件的记录;提供继续/终止两种选择;继续则忽略不符合条件记录继续导入;终止则停止本次导入,退出本次导入。

    同上 同上 文件内的数据全部不符合要求。 同上

    同上 同上 文件内的数据关键字段值在数据库中不存在 同上

    同上 同上 文件内的数据格式不符(如匹配字段名、表名等不同) 同上

    展开全文
  • web接口测试用例/案例

    千次阅读 2019-02-20 15:14:00
    2、接口测试用例设计 上图为一个典型的接口。一个接口通常是有输入输出的: 输入就是我们常见的入参; 输出有时有,有时就没有。 调用相关接口,接口会执行相关处理逻辑。 接口测试的用例...

    1、什么是接口测试

    接口:主要是子模块或者子系统间交互作用的部分。

    • 这里说的接口是广义的:
      • 客户端与后台服务间的协议;
      • 插件间通信的接口;
      • 模块间的接口;
      • 再小到一个类提供的方法;
    • 以上都可以理解为接口。

    接口测试:针对模块或者系统间接口进行的测试。

    • 接口测试发现的典型问题/Bug/缺陷:
      • 传入参数处理不当,导致程序crash;
      • 类型溢出,导致数据读出、写入不一致;
      • 因对象权限未进行校验,可以访问其他用户敏感信息;
      • 状态处理不当,导致逻辑出现错乱;
      • 逻辑校验不完善,可利用漏洞获取非正当利益
      • 等等

    2、接口测试用例设计

    f6bc7d2efa4b2ea4e24b4e557a7857b71fc.jpg

    上图为一个典型的接口。一个接口通常是有输入输出的:

    • 输入就是我们常见的入参;
    • 输出有时有,有时就没有。

    调用相关接口,接口会执行相关处理逻辑。

    接口测试的用例设计,主要从“输入”、”接口处理逻辑“、“输出” 三个方面考虑:

    • 针对“输入”,可按照参数类型进行设计;
    • 针对“接口处理逻辑”,可按照逻辑功能进行用例设计;
    • 针对“输出”,可根据结果进行分析设计。

    2.1、针对【输入】设计用例

    对于接口来说,输入就是”入参“。常见参数类型有:

    • 数值型【int、long、float、double等】;
    • 字符串类型;
    • 数组或链表;
    • 结构体(struct):
      • 是由一系列具有相同类型或不同类型的数据构成的数据集合;
      • 是一些元素的结合,元素实际也是数值型,字符串型,数组或链表等等。

    2.1.1、数值型

    24a465955ea88da8bee3c059d830db5fdfe.jpg

    如果参数规定了值的范围,则需要考虑 等价类取值范围内、取值范围外,取值的边界,如有需要,可能会遍历取值范围内的各个值。

    例如检查权限的接口:【TaskChecker.checkTask(int taskID)】,taskID的取值范围是1-35,那么设计时考虑:

    • 1-35范围内、范围外的值;

    • 1-35的边界:0,1,35,36;

    • 类型的特殊值:-1,0;

    • 数据类型的边界值:int的最小值最大值;

    • 因为1-35代码的权限ID不同,可能需要遍历1-35的每个值。

    常见问题和风险:

    • 特殊值处理不当导致程序异常退出;

    • 类型边界溢出;

    • 取值范围外值未返回正确的错误信息等。

    2.1.2  字符串型

    字符串型的参数,主要考虑字符串的长度和内容:

    33624fb11cf613d710111ff1d43abd5d867.jpg

    例如接口转换设置闹钟的接口:【DateUtil.getDayOfDDHH(String ddhh)】,用例可以考虑:

    • 长度为4位,比4位少,比4位多;

    • 边界值:String的最大长度;

    • 特殊值:空字符;

    • 字符串内容可考虑类型:数字,非数字;

    • 特殊字符;

    • 如果是输入用户输入且其他用户可见的内容,则还需要考虑敏感字是否被正常过滤。

    可能出现的问题和风险:

    • 传入非特定类型程序异常退出

    • 超长字符未进行处理,导致存储、显示等异常

    • 其他用户可见设置的敏感字

    2.1.3  数组或链表类型

    参数类型为数组或链表时,用例可以考虑:

    06fc81936fc0963458b06b1530c28fe469e.jpg

    例如批量提交任务的接口【submitTask(int[] taskID)】,参数用例设计考虑:

    • 正常取值:1-5个权限,范围外:6个权限;

    • 边界值:1-35的边界值,请求允许最大最小值;

    • 特殊值:0个;

    • 合法ID和不合法的;

    • 重复的ID等。

    可能存在的问题和风险:

    • 0个item时程序异常退出;

    • 重复的item处理时未去重导致结果异常等。

    2.2  针对【接口处理逻辑】设计用例

    接口需要进行一些逻辑处理的,那么按逻辑设计用例可以从以下几个角度分析。

    • 约束条件分析
    • 操作对象分析
    • 状态转换分析
    • 时序分析

    2.2.1  约束条件分析

    • 数值限制:分数限制、金币限制、等级限制等等
      • 例如:兑换Q币活动要求 积分>50 才可参与。
    • 状态限制:登录状态等
      • 例如:同步用户信息需要先登录账号。
    • 关系限制:绑定的关系,好友关系等
      • 例如:帮家人防骗功能只能查询绑定家人的来电信息。
    • 权限限制:管理员等

    约束条件的测试在功能测试中经常遇到,在接口测试中更为重要。

    它的意义在于:

    用户进行操作时,在该操作的前端可以已经进行了约束条件的限制,故用户无法直接触发请求该接口。

    但是实际上,如果有其他手段:例如UI有bug或者通过技术手段直接调用接口,那么接口是否针对这些条件进行了限制就尤为重要。

    例如常见的例子:要兑换5Q币需要200积分,但是我积分不足,所以兑换按钮是灰色无法点击的状态:

    89590b4f7aac5a015f69166e0eec44c1114.jpg

    正常用户是无法操作的,但是兑换其实是调后台的一个接口,如果绕过页面按钮的限制,直接调用后台接口兑换呢?是否可以兑换?预期当然是不能兑换的。

    因此积分这个数值限制就需要针对接口进行测试,并且非常重要。

    其他约束条件类似:

    • 时间约束:22:00之前;

    • 数值约束:积分200、限量5个;

    • 状态约束:登录手机管家;

    • 等等约束条件类似。

    常见的问题和风险:

    • 约束条件判断不足,导致用户可通过特殊手段获取利益。

    2.2.2  操作对象分析

    操作通常是针对对象的,例如用户绑定电话号码,电话号码就是操作对象,而这个电话号码的话费、流量也是对象。

    d9808599cec11c8c91cd1ed577ec45c1c99.jpg

    对象分析主要是针对合法和不合法对象进行操作。例如下述用例子:

    • 用户A查询电话P1话费:

    • 用户A查询电话P1流量;

    • 用户A查询电话P2话费;

    • 用户A查询电话P2流量。

    后台的逻辑处理,如果一个电话已经被绑定过,从后台的角度是可以查询到该电话的话费和流量的。

    但是在用户侧,应该是A绑定了的电话,才能让A查询到该电话的话费。故类似对象的测试也必不可少。

    常见的问题和风险:

    • 用户可访问非权限内的其他用户信息、敏感信息,从而利用这些信息谋取利益。

    2.2.3 状态转换分析

    被测逻辑可以抽象成状态机,各个状态之间根据功能逻辑从一个状态切换到另一个状态。

    如果我们打乱了这个次序,从一个状态切换到另一个不在它下一状态集中的状态,那么逻辑将会打乱,就会出现逻辑问题。

    57af5a5502fad799567d63ef90c2abf2ee5.jpg

    如上图所示,从某状态改变到新的状态,依赖于转换接口。而对于某转换接口,其输入状态是确定的,比如Fun23,这个函数只能把状态2转换为状态3,而不能把状态1转换为状态3。

    那么测试点就可以是:

    1.  状态为2,调用接口 Fun23(),状态切换到 3;
    2.  状态为1,3,调用接口 Fun23(),状态不能切换。

    例如在做任务的时候,任务有三种状态:未领取,已领取未提交,已完成 三种状态。

    e2e3a3389f392b883ea21bcb743d6dc08a7.jpg

    那么可以这样设计:

    1.  正常的状态切换:未领取状态,领取任务后变为已领取未提交状态;已领取满足任务条件提交后,变成已完成状态;完成后可以再次领取任务。
    2.  非正常的状态切换:未领取任务满足任务条件直接提交任务;已领取时再次领取任务等等。

    常见的问题和风险:

    • 可通过特殊手段达到原本不能的状态,从而谋取利益。

    2.2.4  时序分析

    在一些复杂的活动中,一个活动是由一系列动作按照指定顺序进行的,这些动作形成一个动作流,只有按照这个顺序依次执行,才能得到预期结果。

    在正常的流程里,这些动作是根据程序调用依次进行的,并不会打乱,在接口测试时,需要考虑如果不安装时序执行,是否会出现问题。

    例如,客户端数据同步是由客户端触发进行的,期间的同步用户无法干预。

    功能测试的时候可见的就是是否能正常进行同步,而进一步分析,同步流程实际涉及了一组动作:

    b3741a71409816ec5033dc34fc51706ea1d.jpg

    从时序图可以看出,后台有3个接口:登录获取用户ID,上报本地数据,上报本地冲突。

    三个接口需要依次调用执行,才能完成同步。那么在接口测试就可以考虑打乱上述接口的执行顺序去执行,会有怎样的结果,是否会出现异常。

    例如:获取用户ID后不上报本地数据而直接上报本地冲突。

    常见的问题和风险:

    • 非顺序执行后,数据出现异常,可能还会出现程序其他异常;

    • 通过打乱顺序获取利益。

    2.3  针对输出设计

    针对输出设计其实是针对接口返回的结果进行分析。

    2.3.1  针对输出结果

    接口处理正确的结果可能只有一个,但是错误异常返回结果有很多情况很多值。如果知道返回结果有很多种,就可以针对不同结果设计用例。

    例如提交积分任务的时候我们通常能想到的是返回正确和错误,

    错误可能想到:无效任务,无效登录态,但是不一定能否完全覆盖所有错误码,而接口返回定义的返回码可以设计更多用例:

    aebda43d7a4a544b6900e17770c1f3e5c3d.jpg

    覆盖返回码也是用例设计的一种思路。

    常见问题和风险:

    • 错误前端处理不足,导致前端异常;
    • 错误提示处理不当,导致用户看到晦涩的错误码;
    • 错误提示不当,导致用户不知道哪里出了问题,如何解决。

    2.3.2  接口超时

    接口正常情况下是有返回的,那么如果接口不返回呢?也就是说接口超时后的处理也是测试需要考虑的部分。

    如果超时处理不当,可能会引起以下问题:

    • 未进行超时处理,导致整个流程阻塞;
    • 超时后又收到接口返回,导致逻辑出现错乱。

    2.4  其他测试用例设计

    2.4.1  已废弃接口测试

    已废弃协议,是指之前有定义,但是因为需求变更或其他原因,目前版本不用。

    【这些接口虽然不再使用,但有可能代码并没有及时删除。如果利用技术手段调用这些接口,可能获取额外利益】

    例如:

    任务之前有个清理任务,在一个版本需求里将清理任务替换为下载任务。

    在新版本客户端已不再调用完成清理任务的接口;但是如果该接口未关闭,用户就可以继续请求【submitTask(int taskID)】接口完成清理任务获得积分。

    因此新版本在考虑兼容旧版本的同时,还应做好相关废弃接口的检查,避免用户获得额外利益。

    2.4.2  接口设计合理性分析

    接口定义是否合理可以从以下几个方面分析:

    • 接口字段是否冗余;
    • 接口是否冗余;
    • 接口是否返回了调用方期望得到的信息;
    • 接口定义是否可满足所有调用需求;
    • 接口定义调用是否方便。

    2.5  一个完整的例子

    下面举一个完整例子,通过上述方法来分析如何对接口进行用例设计。

    某模块提供了一个接口给其他模块,用户请求任务,接口定义如下:

    a23a2191f13f4fd4cc190539665fbc3cdc2.jpg

    2.5.1  针对输入设计

    (1)dialogDetailText / dialogButtonText【String类型】

    • 长度
      • 正常:请安装提示进行操作;
      • 边界:一个字:请;长度非常长:无悬浮窗权限,可能影响XX功能无法使用,请开始悬浮窗权限,以便获得更好的用户体验;甚至更长;
      • 特殊:空字符串。
    • 内容
      • 特定类型:中文,英文,数字等;
      • 特殊字符:/n/r/t ,.><?*$&^%~"ஜღ℡♬€✎等;
      • 敏感字符:非用户设置,不涉及。

    (2)taskID / requestType【int类型】

    • 等价类
      • 取值范围内:1,5,10等;
      • 取值范围外:0,99。
    • 边界法
      • 取值范围边界:0,1,38,39,40
      • 数据类型边界:-2147483648 ,2147483648
    • 特殊值:0,-1等;
    • 遍历法:1,2,3,4,5…38,39对应每种不同ID。

    2.5.2  针对逻辑设计

    (1)约束条件分析

    去引导某功能需要:未完成过任务,任务有任务数据。

    7a2463bc54c5d6fee8c6d04a652ea5ea76e.jpg

    那么用例可以是:以下情况下调requestTask:

    • 未使用过有任务数据时;
    • 未使用无任务数据时;
    • 使用过有任务数据时;
    • 使用过无任务数据时。

    如果有其他约束条件类似设计。

    (2)操作对象分析

    调用请求接口后,会先根据任务数据,引导对应的任务。任务数据,任务操作方式,任务功能都可以是对象。

    61467c5dc8023345c1c2508a7b0cd31c621.jpg

    1)任务数据

    • 数据类型:本地,云端 等

    • 数据有效性:正确数据,错误数据

    2)操作方式

    • 方式:安装,下载,打开等等 。

    3)任务功能

    • 功能:用户操作了该功能,未正常操作该功能;什么都不操作;完成一个任务功能;完成多个任务功能;任务功能使用顺序等等。
    • 对象:还需要关注,会不会操作到不合法的对象,例如任务数据和功能不对应等问题。

    (3)状态转换分析

    功能是有3个状态的:完成,未完成,未知。状态图如下:这里是产品里涉及的状态转换:

    70351b442ef7458f40bdf765624b864df3d.jpg

    针对该状态:

    • 正常状态转换:未完成状态请求并完成任务后是否可变成完成状态;未完成状态请求但不完成,还是未完成状态。
    • 走不到的状态路径:未知和完成状态请求任务,不能进行进行该任务。

    (4)时序分析

    从时序的角度分析,调用请求接口前需要以下2步动作:

    1. 拉取任务数据;
    2. 判断任务状态。

    398eff6acd8f50689a410c81d11c0045557.jpg

    从时序得到的用例有:

    1. 正常时序:按照正常时序请求1 2 3;

    2. 缺失的时序

      缺少动作1调2 3;缺少动作2调1 3;缺少动作1和2直接调。

    3. 打乱的时序

      打乱的时序:2 1 3,还可以有1 3 2,2 3 1,3 1 2,3 2 1。

    针对处理逻辑的设计中,可能使用某一种或某几种方式就可以将用例覆盖前,故实际使用中,可能不会全部使用,只要找到最合适的方式覆盖用例即可。

    2.5.3  针对输出分析

    请求任务接口返回的数据是任务完成结果,即返回完成,未完成两种状态(未知都作为完成返回)。

    从结果可以考虑遍历:

    • 未完成
    • 完成
    • 完成-未知

    从接口处理时间分析,考虑:请求后快速返回,很长时间才返回,甚至不返回结果的情况。

    3、小结

    接口用例设计方法中,针对输入、输出的设计是通用的,接口设计时都可用到。

    对于接口逻辑的设计可能会应用比较适合的一种或几种方法,在接口用例设计时,需要选取最合适的方法去覆盖被测逻辑。

     

     

    转载于:https://my.oschina.net/niepanLs/blog/3012422

    展开全文
  • p2p类网站测试用例

    2016-09-22 17:56:59
    互联网金融类web测试用例设计,p2p网站测试用例设计
  • WEB测试用例编写汇总

    2021-07-13 14:17:43
    一、UI测试  UI用户界面测试,主要检测前端页面展示效果的,测试关注的点有如下几方面:  1、各页面的风格是否统一  2、各页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否...
  • web网页测试用例(非常实用)

    万次阅读 多人点赞 2018-02-06 15:21:19
    Web测试中,各类web控件测试点总结 一 、界面检查  进入一个页面测试,首先是检查title,页面排版,字段等,而不是马上进入文本框校验  1、页面名称title是否正确  2、当前位置是否可见 您的位置:xxx>xxxx ...
  • 测试用例之前,对行业基础知识,测试对象的功能一定要非常熟悉,这样才能有发散思维。不然,就算掌握多高深的用例设计方法都是然并卵。 文章目录一、用例设计方法常用分类(一)边界值举例(二)等价类举例(三...
  • web测试用例.xmind

    2021-06-26 17:53:58
    web测试最全功能点
  • web页面测试方法与测试用例编写

    千次阅读 多人点赞 2020-06-12 17:18:51
    查看是否上传最后一次选择的文件 七、 针对上传文件的测试用例 1、 页面校验,如页面美观易用,按钮文字、说明文字是否正确,必填项的标识是否正确,对必填项是否校验 2、 根据系统要求对文件类型、文件大小做校验,...
  • WEB性能测试用例设计

    2009-06-15 14:17:19
    WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。WEB性能测试用例设计。
  • web测试主要关注点 1、功能测试: *总体功能是否符合需求说明书 *页面上的输入框、下拉框、上传相机等按钮是否可正常点击,跳转到本地 *表单的提交是否可用 2、界面测试: *界面的布局、文字、颜色等是否美观协调 ...
  • WEB公共测试用例

    2019-12-19 16:41:35
    用例标题(测试点) 输入 TCW_0001 界面检查 页面名称title是否正确 TCW_0002 当前位置是否可见 您的位置:xxx>xxxx ...
  • web功能模块测试用例(模板)

    千次阅读 2018-05-19 16:53:00
    web功能模块测试用例(模板): https://wenku.baidu.com/view/4ada3464ddccda38376baff8.html 如图所示: 转载于:https://www.cnblogs.com/qy1234/p/9060874.html
  • web用例设计思想

    2018-06-13 16:12:56
    web产品相关的用例设计思路,主要包括功能,安全和性能
  • 页面检查 界面布局 界面布局:界面布局有序,简洁,符合用户使用习惯 界面上的元素色彩深浅搭配合理 页面上的字体大小是否合理 界面元素是否在水平或者垂直方向对齐 界面元素的尺寸是否合理 行列间距是否保持一致 ...
  • 1,针对ui界面进行测试用例编写,并更新用例,功能测试
  • 测试用例究其根本还是要围绕需求,从需求中提炼出的测试点才是有效的。 其次,对被测对象业务的熟悉程度,也决定了能否设计出高质量的用例。 毕竟各个功能点之间是有联系和影响的,往往这中间的联系会隐藏很...
  • WEB测试用例.doc

    2021-09-16 10:44:06
    常用模块的测试用例,可以对照生成测试点,进行查漏补缺。很全
  • web功能测试用例

    千次阅读 2015-11-10 09:03:12
    web功能测试
  • 关于大数据网页端测试用例,关于大数据网页端测试用例,关于大数据网页端测试用例,关于大数据网页端测试用例
  • web端表格测试用例

    2017-06-05 10:41:00
    表格测试: 表格内容列表排序功能是否正常每一栏的宽度是否足够宽,表格里的文字是否都有折行?是否有因为某一格的内容太多,而将整行的内容拉长?表格是否能左(右)添加(删除)列,表格是否能上(下)添加(删除)行是否...
  • 京东web登录测试用例编写

    千次阅读 2020-04-22 15:37:25
    确认测试范围 1.账户登录 2.二维码登录 3.第三方登录 输入框的规则 手机,邮箱,或者其他 2.界面 ui 文案 3.功能 正向验证 输入已注册的手机号,正确密码,点击登录,登录成功 账号输入框 手机(11位的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,585
精华内容 8,634
关键字:

web端测试用例