⑴ Katalon Studio之web自动化(二)---创建测试用例
测试使用的用户肯定一般不止一个,可通过参数来传递,方便后续可以通过输入不同的用户信息登录。
在Variables页面添加变量,选择变量类型,并填入变量的默认值即可
点击输入框,跳出租氏对话框,选择value_type为Variable,然后在Value选择相应的变量即可
在测试用例中添加item时,通过add,选择call test case
添加测试用例后,默认展示默认值
通过点击输入,修改变量的输入值
当然可以进行多次调用,例如用户A、B有不同的操作,不同的测试用例,就可以创建很多公用的登录用例login_A或login_B,引用时直接引用login_A或login_B即可,这样方便后续修改用户A的密码或者切换用户A1执行与A相同的用例时,就可以直接修改login_A的输入值即可,就不需要修改每个用例的用户名和密码了。
在誉枯调用用例后,系统会自动往下执行。
当需要在不同用例间传参时,可以使用全局变量。
1.增加全局变量
在Profiles下的default中,添加全局变量即可。
2.引用全局变量
关键字可参考官方文档: [WebUI] Accept Alert | Katalon Docs
Katalon Studio支持 控制语句 (如 If / Else , for / while 或 Try / Catch …)来决定执行的逻辑流程,具体也可以参考官方文档: Control Statements | Katalon Docs
断言语句包含一个 布尔表达式 ,其中此条件必须为true才能继续执行测试。因此,断言的执行导致对 布尔表达式 的求 值, 并且如果表达式的求值为 false, 则会报告 错误 。
Assert Statements | Katalon Docs
“ 测试侦听庆型洞器” 是根据您自己的条件创建的测试步骤,将在条件匹配时执行。
Test Listeners (Test Hooks) | Katalon Docs
至此 ,可以完成基本的测试用例,其他可以继续参考文档学习。
⑵ 怎么给javaWeb项目写测试用例
文件名:Calutor.java
package com.sc.zy;
public class Calutor {
public int add(int num1,int num2){
return num1+num2;
}
public int sub(int num1,int num2){
return num1-num2;
}
public int mul(int num1,int num2){
return num1*num2;
}
public int div(int num1,int num2){
if(num2==0){
throw new MyException();
}
return num1/num2;
}
}
文件名:MyException.Java
package com.sc.zy;
public class MyException extends RuntimeException {
}
文件名:CalutorTest.java
package com.sc.zy;
import junit.framework.Assert;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
public class CalutorTest {
private Calutor c;
@BeforeClass
public static void setUpBeforeClass(){
System.out.println("=====static init=======");
}
@AfterClass
public static void tearDownAfterClass(){
System.out.println("=====static destory=======");
}
@Before
public void setUp(){
System.out.println("=======@before=======");
c=new Calutor();
}
@After
public void tearDown(){
System.out.println("=======@after=======");
}
@Test
public void testAdd(){
int sum=c.add(1, 2);
Assert.assertEquals(3, sum);
}
@Test(expected=com.sc.zy.MyException.class)
public void testDiv(){
c.div(1, 0);
}
@Ignore
public void testDiv1(){
int d=c.div(1, 5);
Assert.assertEquals(0, d);
}
}
⑶ 百度网页如何写测试用例
测试用例设计和执行是测试工作的核心卖塌誉,也是工作量最大的任务之一衫埋。
测试用例(Test
Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入中段数据、测试步骤、预期结果、测试脚本等,并形成文档。
测试用例编写准备
1
从配置管理员处申请软件配置:《需求规格说明书》和《设计说明书》;
2
根据需求规格说明书和设计说明书,详细理解用户的真正需求,并且对软件所实现的功能已经准确理解,然后着手制订测试用例。
⑷ 如何进行Web渗透测试
什么是渗透测试?
渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。
如何进行Web渗透测试?
完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。
1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;
系统分析&威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;
制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;
测试执行&漏洞挖掘:测试用例执行&发散测试,挖掘对应的安全问题or漏洞;
问题修复&回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;
项目总结评审:项目过程总结,输出文档评审,相关文档归档。
2、Web应用的渗透测试流程
主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:
一、信息收集
在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等
脚本语言的类型:常见的脚本语言的类型包括:php、asp、aspx、jsp等
测试方法:
1 爬取网站所有链接,查看后缀
2 直接访问一个不存在页面后面加不同的后缀测试
3 查看robots.txt,查看后缀
服务器的类型:常见的web服务器包括:apache、tomcat、IIS、ngnix等
测试方法:
1 查看header,判断服务器类型
2 根据报错信息判断
3 根据默认页面判断
目录的结构:了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。
测试方法
1 使用字典枚举目录
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
使用的开源软件:我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
数据库类型:对于不同的数据库有不同的测试方法。
测试方法
1 使应用程序报错,查看报错信息
2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)
所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。
测试方法
1 使用字典枚举页面
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
二、漏洞发现
在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。
关于开源软件的漏洞发现
开源的软件:常见的开源软件有wordpress、phpbb、dedecms等
开源的框架:常见的开源框架有Struts2、 Spring MVC、ThinkPHP等
中间件服务器:常见的中间件服务器有jboss、tomcat、Weblogic等
数据库服务:常见的数据库服务mssql、mysql、oracle、redis、sybase、MongoDB、DB2等
对于开源软件的测试方法
1 通过指纹识别软件判断开源软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试
2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作
3 使用开源的漏洞发现工具对其进行漏洞扫描,如:WPScan
关于自主开发的应用
手动测试:这个阶段,我们需要手工测试所有与用户交互的功能,比如:留言、登入、下单、退出、退货、付款等操作
软件扫描:使用免费的软件扫描,如:appscan、wvs、netsparker,burp等
可能存在的漏洞
Owasp关键点
代码安全之上传文件
代码安全之文件包含
代码安全之SSRF
逻辑漏洞之密码重置
逻辑漏洞之支付漏洞
逻辑漏洞之越权访问
平台安全之中间件安全
三、漏洞利用
针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试
手工测试
手工测试是通过客户端或服务器访问目标服务,手工向目标程序发送特殊的数据,包括有效的和无效的输入,观察目标的状态、对各种输入的反应,根据结果来发现问题的漏洞检测技术。手工测试不需要额外的辅助工具,可由测试者独立完成,实现起来比较简单。但这种方法高度依赖于测试者,需要测试者对目标比较了解。手工测试可用于Web应用程序、浏览器及其他需要用户交互的程序。
这种方式对于有特殊过滤等操作,或者网络上没有成型的利用工具的时候可以使用。
工具测试
网络上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。
⑸ web自动化测试计划和步骤
测试用例:前置、步骤、断言
项目周期长:功能会越来越复杂
历史功能:比较稳定
回归,历史功能
开发-接口自动化同步
项目-8大模块-2000左右用例数
1、熟悉业务
需求文档/手动测试/产品聊,了解模块之间的关系/测试人员
项目目前在测试的阶段,棘手的问题
2、分析
系统当中哪些模块适合自动化、哪些模块不适合
历史功能稳定性、功能复杂性
核心模块
使用频率模块,哪一个模块bug率目前偏高
测试团队、产品 开会讨论
筛选2个模块 400个功能测试用例
如果是接口 ---接口有多少个,每个接口有多少个用例
3、功能测试 ---筛选自动化测试用例----核心功能、主流程、主功能点---140
用例评审===
4、自动化计划
自动化类型:web/接口
框架选型:
团队人员:
搭框架、定规范
时间规划:用例编写时间2个半月
效果:覆盖率是多少---用例通过率---跟项目测试进度结合
⑹ web的功能测试怎样测试
首先,查找需求说明、网站设计等相关文档,分析测试需求。
制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
设计测试用例:
功能性测试可以包括,但不限于以下几个方面:
链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。
提交功能的测试。
多媒体元素是否可以正确加载和显示。
多语言支持是否能够正确显示选择的语言等。
界面测试可以包括但不限于一下几个方面:
页面是否风格统一,美观
页面布局是否合理,重点内容和热点内容是否突出
控件是否正常使用
对于必须但未安装的控件,是否提供自动下载并安装的功能
文字检查
性能测试一般从以下三个方面考虑:
压力测试;负载测试;强度测试
数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。
安全性测试:
基本的登录功能的检查
是否存在溢出错误,导致系统崩溃或者权限泄露
相关开发语言的常见安全性问题检查,例如SQL注入等
如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持
兼容性测试,根据需求说明的内容,确定支持的平台组合:
浏览器的兼容性;
操作系统的兼容性;
软件平台的兼容性;
数据库的兼容性
开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。
定期评审,对测试进行评估和总结,调整测试的内容。
敲黑板!重点:推荐大家使用自动化测试工具TestWriter(测功能、测兼容性、测回归的零编码自动化测试工具 ),吼吼~
⑺ 求web兼容性测试用例
参考下面方法
一、分别在不同电脑上安装不同版本的IE
优点:准确性高,三台电脑分别安装IE6、7、8,显然测试得出的结果是最准确的。
缺点:浪费服务器资源,测试人员操作麻烦,需要不断切换测试机器。
二、在一台电脑上安装IETest
优点:能90%的模拟出不同浏览器的渲染效果,只需安装在一台测试机器上即可。
缺点:
1)如果测试机器安装的为IE6或IE7,那么IETest不能模拟IE8.
2)如果测试机器安装的为IE8,那么IETest才能模拟IE6、7、8.
3)测试出的渲染效果与浏览器得实际效果存在差异,不一定准确.
三、在IE8上安装IE Develop ToolBar
优点:通过此工具可以模拟IE7的渲染效果,拥有有IE7、8的真实渲染效果。
缺点:
1)无法模拟IE6的渲染效果。
2)一定要在一台测试机器上安装IE8才能使用。
⑻ web自动化测试中用例是如何维护的
1.用例的维护专门负责的自动化测试人员进行跟踪维护的2.ui自动化框架测试数据是与代码分离的
⑼ 如何测试一个web网站的性能
其实简单来说,首先明确测试目的,咱仔烂们大部分时候都是功能测试哈,就主要讲功能测试
1、要测试功能,那首先需要理清楚这个功能的业务,相当于需求澄清
2、规划测试人力,整个测试需求的测试计划
3、宴迹分配测试用例的设计任务,评审测试用例
4、准备测试环境,等待转测试
5、转测试分配测试用例的执行任务,预测试,执行测试用例,提交bug,回归bug
6、发布测试报告,评估测试结果,如果测试通过,则测试退出,否则继续进行下一轮测试
如果有性能测试,兼念祥漏容性,国际化测试等,另外安排。
⑽ 测试一个web系统,发送邮件的功能怎么设计测试用例
邮件地址格式是否正确,错误提示信息是否准确合理。
邮件收件人是否可以输入多个,如果可以验证每个收件人是否都能收到正确的邮件;
多个收件人地址输入有正确的也有错误的,系统如果处理?
收件人是否有域的限制,如果有检查邮件地址的合法性。
邮件内容:
Subject,Body是否可以编辑,可以验证编辑功能;
Subject,Body是否有固定格式,如果有,验证格式正确性,一些需要取出的数据是否正确;
Subject,Body是否有字数,字体等要求;
收件人收到的邮件与编辑的是否一致。
如果可以有附件,检查附件个数、大小限制;
所有附件是否可以正确发送到收件人邮箱,并且被接收。
发送超时如何处理?
还有一些其他的,如发送的时候有没有选项要同时存到“已发送”,编辑的时候可以自动存到“草稿”等等,要看具体需求