「java测试案例」java测试案例模拟无返回值方法方法

博主:adminadmin 2022-12-28 21:12:09 66

今天给各位分享java测试案例的知识,其中也会对java测试案例模拟无返回值方法方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么给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);

}

}

如何写测试用例 java

测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一。

测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。

测试用例编写准备

1

从配置管理员处申请软件配置:《需求规格说明书》和《设计说明书》;

2

根据需求规格说明书和设计说明书,详细理解用户的真正需求,并且对软件所实现的功能已经准确理解,然后着手制订测试用例。

测试用例制定的原则

1测试用例要包括欲测试的功能、应输入的数据和预期的输出结果。

2测试数据应该选用少量、高效的测试数据进行尽可能完备的测试。

用例覆盖

1正确性测试:输入用户实际数据以验证系统是满足需求规格说明书的要求;测试用 例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。

2容错性(健壮性)测试:程序能够接收正确数据输入并且产生正确(预期)的输出, 输入非法数据(非法类型、不符合要求的数据、溢出数据等),程序应能给出提示 并进行相应处理。把自己想象成一名对产品操作一点也不懂的客户,在进行任意操作。

3完整(安全)性测试:对未经授权的人使用软件系统或数据的企图,系统能够控制的程度,程序的数据处理能够保持外部信息(数据库或文件)的完整。

4接口间测试:测试各个模块相互间的协调和通信情况,数据输入输出的一致性和正确性。

5压力测试:输入10条记录运行各个功能,输入30条记录运行,输入50条记录进行测试。

6性能:完成预定的功能,系统的运行时间(主要是针对数据库而言)。

7可理解(操作)性:理解和使用该系统的难易程度(界面友好性)。

8可移植性:在不同操作系统及硬件配置情况下的运行性。

测试方法

1边界值分析法:确定边界情况(刚好等于、稍小于和稍大于和刚刚大于等价类边界值),针对我们的系统在测试过程中主要输入一些合法数据/非法数据,主要在边界值附近选取。

2等价划分:将所有可能的输入数据(有效的和无效的)划分成若干个等价类。

3错误推测:主要是根据测试经验和直觉,参照以往的软件系统出现错误之处。

测试用例的填写

1一个软件系统或项目共用一套完整的测试用例,整个系统测试过程测试完毕,将实际测试结果填写到测试用例中,操作步骤应尽可能的详细,测试结论是指最终的测试结果(结论为:通过或不通过)。

java 怎么写junit测试用例

java中Junit应用介绍:assertexp1;//exp1为boolean类型的值assertexp1:message;//message为如果exp1不是true的时候,要提示的错误消息断言一般作用:代码运行前写断言判断必须满足的条件;代码运行后判断必须符合的标准;确定代码运行过程中有无改变某些不应该变的东西2.junit中的Assert类提供了很多方法,替代断言,参照api:assertEquals、assertFalse、assertTrue、assertNotNull、assertNull、assertSame、fail3.注解@interface用来定义注解@Retention用来声明注解的保留策略,有CLASS(注解保存在class文件中)、RUNTIME(运行时可用)和SOURCE(仅在源代码中)这三种@Target用来声明注解可以被添加在哪些类型的元素上:注解、类、方法、方法参数、构造、字段、方法中的普通变量定义一个能在方法上使用的注解:@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD})public@interfaceKennethTest{}写一个测试类publicclassTest{@KennethTestpublicvoidtest1(){System.out.println("test1");}publicvoidtest2(){System.out.println("test2");}@KennethTestpublicvoidtest3(){System.out.println("test3");}}执行一个类中所有标记KennethTest的方法publicclassMain{publicstaticvoidmain(String[]args)throwsException{//反射ClassclassObj=Test.class;//获取Test的类对象Objectobj=classObj.newInstance();//调用无参数构造,新建一个Test的对象Method[]methods=classObj.getMethods();//获取Test类中所有public方法for(Methodmethod:methods){if(method.getAnnotation(KennethTest.class)!=null){//看这个方法是否有KennethTest注解method.invoke(obj);//如果这个方法有KennethTest注解,那么这个方法被调用执行}}}}4.junit中的注解@Test@Test(expected=IndexOutOfBoundsException.class)测试方法抛出这个异常就能通过测试@Test(timeout=10)测试方法不能超过10毫秒@Ignore忽略测试@Before每个测试方法之前执行@After每个测试方法之后执行@BeforeClass在加载类时执行@AfterClass在所有测试方法执行结束,如果有after的话,所有after也执行结束后执行5.通常写测试代码的规则:1)产品源代码和测试源代码要分开,包名类名一致例如org.ken.PersonDao对应测试代码可以为test.org.ken.PersonDaoTest2)一个有功能类要写至少一个测试类3)一个方法代表一个用例用例之间要保持独立(最好不要互相调用)

selenium 怎么使用java编写测试用例

control-1.0.1-dist.zip。 解压。

2. 用命令行来到解压的文件夹下: \selenium-remote-control-0.9.2\selenium-server-0.9.2

3. 运行: java -jar selenium-server.jar 启动selenium server (务必启动!!)

4. 在Eclipse创建一个项目,在项目的build path里面加上junit.jar和selenium-java-client-driver.jar(这个在刚解压的包里面)

5. 先利用firefox selenium IDE来录制检测页面检测功能用的junit代码。

6. 在项目里面新建一个class(junit用例):将上面的junit代码帖于此。

7. 根据eclipse的错误提示来增加相应要import的类

8. 在进行测试前,最好将对应浏览器关闭,否则容易出错。

9. 然后在Eclipse里运行 “Run As - unit Test”即可看到自动化的范例.

10.运行期间,会弹出ie窗口,自动进 行操作测试。检测完后,若junit显示为“绿色”则表示成功。

下面粘贴一下那个测试小程序

import com.thoughtworks.selenium.SeleneseTestCase;public class Untitled extends SeleneseTestCase {

public void setUp() throws Exception {

//由于selenium 对*firefox不支持3.6版本的.只能支持3.0版本.所以,最好将selenium IDE录制的代码中的firefox改为ie进行测试。

//setUp("", "*firefox");

setUp("", "*iexplore");

}

public void testUntitled() throws Exception {

selenium.open("/");

selenium.type("q", "baidu");

selenium.click("btnG");

selenium.waitForPageToLoad("30000");

selenium.click("link= 百度一下,你就知道");

//添加断言进行测试:

// assertTrue(selenium.isTextPresent("OpenQA: Selenium")); //测试出错,程序退出

assertTrue(selenium.isTextPresent("百度一 下,你就知道")); //测试成功,程序继续

}

//用于让测试的页面关闭.若不写,则页面不会关闭

public void tearDown() throws Exception {

selenium.stop();

}

}

(7)

7.1

selenium 常用操作有:open,type,click,select,selectFrame:

1. open("/")打开的是当前的网址;selenium.open("/dmmc/"):在当前的网址后面追回/dmmc/;

2. type,click,select,selectFrame各方法使用时,对元素的定位都可采用元素ID 或 xpath方式;

3. type,click,select,selectFrame去选择元素时,可以直接用元素的ID作为标 记.

4. 如:selenium.type("loginName", "coship");;采用xpath方式时,则格式如://元素名1[元素属性名1='元素属性值1']/元素名2[元素属性名2='元素 属 性值2']/....

如:selenium.type("//input[@name='admin.password']", "coship")7.2

常用命令用法:

1)

type的两种不同定位方式:

selenium.type("loginName", "coship");

//以下语句的"xpath="可以省略

selenium.type("xpath=//input[@name='admin.password']", "coship");

2)

click的两种不同定位方式:

selenium.click("imageField"); 即是通过ID定位:input type="submit" value=" " id="imageField"

selenium.click("//input[@type='submit']"); (通过属性input-type)

selenium.click("//input[@value='确定']"); (通过属性input-value)

selenium.click("//input[@name='devTypeIds' and @value='000002']") (还可通过属性@id)

3)

点击链接方式:

对于动态内容的获取,尽量避 免采用第一种方式(若内容变了,则出错),而采用第二种方式.

实现方式一:

点击链接:a href=..801830456628/a

selenium.click("link=801830456628");

实现方式二:

获取id=adminList的table中的tbody下的第三行,第二列中的a href元素。

selenium.click("//table[@id='adminsList']/tbody/tr[3]/td[2]/a");

4)

选 择下拉框:

实现方式一:

selenium.select("status", "label=启用");

即 是:select id="status"option value="1"启用/option/select

实现方式二:

selenium.select("xpath=//SELECT[@id='status']", "index=1");

具体应用,请见以下实例。7.3

实例:

用于检测abmc系统各模块功能是否正常。

方式:

用selenium IDE录制abmc系统各模块功能操作.(前提是:这些操作,这些功能都是正确成功),以后当abmc系统升级,更改后,即可运行此脚本,来检查升级是否 影响系统功能实现。若系统更改有错,则selenium中运行中某一步骤时,会出错退出。

如:

系统更改后导致某一页面打不开,这时 selenium运行到此页面时,就不能继续往下操作,就会出错而退出。注意:

1.同时,也可在测试代码中添加一些断言判断来判断成功,失败。

2.

对于firefox selenium IDE录制的脚本要进行适当的修改,尽量让selenium用元素ID来定位操作元素,而不通过元素名(元素名易变化)。

3.

若selenium RC检测代码出错,也不一定是系统升级有问题,可能是系统升级后,有些数据删除,修改了,selenium RC在回放操作时,找到原来录制时对应的数据而出错。具体代码如下:

//对于click,select,selectFrame去选择元素时,可以直接用元素的ID作为标记.// 如:selenium.click("元素ID");public class AbmcSeleniumTest extends SeleneseTestCase {

public void setUp() throws Exception {

setUp("", "*iexplore");

}

public void testUntitled() throws Exception {

selenium.open("/abmc/");

//type的两种不同定位方式

selenium.type("loginName", "coship");

//以下语句 的"xpath="可以省略

selenium.type("xpath=//input[@name='admin.password']", "coship");

// selenium.click("imageField"); 即是通过ID 定位:input type="submit" value=" " id="imageField"

selenium.click("//input[@type='submit']");

//等待一个新的页面加载。 以毫秒为单位,超过后该命令将返回错误。

selenium.waitForPageToLoad("30000");

//即选择frame src="device/index.jsp" id="mainFrame"

selenium.selectFrame("mainFrame");

//对于动态内容的获取,尽量避免采用第一种方式 (若内容变了,则出错),而采用第二种方式

//点击链接:a href=..801830456628/a

// selenium.click("link=801830456628");

//实现方式二:获取id=adminList的table中的tbody下的第三行,第二列中的a href元素。

selenium.click("//table[@id='adminsList']/tbody/tr[3]/td[2]/a");

selenium.waitForPageToLoad("30000");

selenium.click("//input[@value=' 返回']");

selenium.waitForPageToLoad("30000");

//因为有多个“查看应用列表”,若不指定,默认获取第一个

selenium.click("link=查看应用列表");

selenium.click("btn_dsure");

// 方式一:

//selenium.click(" //a[@onclick=\"showPage('应用列表','deviceAppList.action?device.swType=2device.deviceId=0000257device.deviceName=801830456628device.specName=DevTyp',750,400)\"]");

//方式二:

selenium.click("//table[@id='adminsList']/tbody/tr[3]/td[5]/span[1]/a");

selenium.click("btn_dsure");

selenium.selectFrame("relative=up");

selenium.selectFrame("leftFrame");

selenium.click("link=应用文件管理");

selenium.click("link=应用文件信息");

selenium.selectFrame("relative=up");

selenium.selectFrame("mainFrame");

selenium.click("//a[@onclick=\"showPage('匹配终端类型','appTypeList.action?application.appId=01application.appName=maliao',750,400)\"]");

selenium.click("btn_dsure");

selenium.click("//table[@id='adminsList']/tbody/tr[7]/td[8]/span[2]/a");

selenium.waitForPageToLoad("30000");

selenium.click("//input[@name='devTypeIds' and @value='000002']");

selenium.click("//input[@value='确定']");

selenium.waitForPageToLoad("30000");

selenium.click("//a[@onclick=\"showPage('匹配终端类型','appTypeList.action?application.appId=01application.appName=maliao',750,400)\"]");

selenium.click("btn_dsure");

selenium.selectFrame("relative=up");

selenium.selectFrame("leftFrame");

selenium.click("link=终端应用管理");

selenium.click("link=终端应用许可");

selenium.selectFrame("relative=up");

selenium.selectFrame("mainFrame");

// selenium.select("status", "label=启用"); 即是:select id="status"option value="1"启 用/option/select

selenium.select("xpath=//SELECT[@id='status']", "index=1");

selenium.click("//input[@type='image']");

selenium.waitForPageToLoad("30000");

selenium.click("//input[@type='image']");

selenium.waitForPageToLoad("30000");

selenium.selectFrame("relative=up");

//即 选择frame src="device/index.jsp" id="mainFrame"

selenium.selectFrame("topFrame");

selenium.click("link=注销");

//若要测试其 它的网页,可以继续selenium.open(..)

}

}

#web测试技术

Java 测试用例怎么写

测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一。

测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。

java 测试用例有什么用???请讲通俗点

设计测试用例的原因:

1. 你工作不主动,这时需要测试用例来催着去工作。

2. 你测试时总感觉思维很混乱,或者总感觉有些功能没有测到,而另

一些功能已经测过好几遍了,这时测试用例能够帮你理清头绪,理

顺测试思路,进行比较系统的测试,不会有太多的重复,也不会让

你的测试工作产生遗漏,可以有效的组织测试执行过程。

3. 在测试时间紧迫的情况下,你不知道要测什么,或者要先测试那些

功能,测试用例这个时候就可以帮你分清重点,因为测试用例写完

后一定要标识重要程度和优先级,以防止在紧急的情况下有重点的

工作。

4. 你积极的工作状态不能持续,这个时候测试用例又帮你一个大忙,

因为测试用例上面操作步骤和预期结果都已经写好了,你根本不用

思考,只需要照着上面做就行了。

5. 测试用例是你工作的见证,也是你每次测试以后向上级汇报的依据

,有了测试用例,我知道我这次测试了那些功能,还有那些功能没

有测到,对上级是一个交代,也做到了自己心中有数。

6. 测试用例可以记录你的灵感。如果灵感突发,有一个新颖的测试

思路,你可以写成测试用例,或许这个测试用例就是挽救整个软件

的重大功臣。

7. 测试用例有助于不断的改进工作。因为通过测试用例,可以知道哪

些测试用例测出Bug的机率比较大,还有那些测试用例需要改进,

对我们以后工作的改进提供了依据

关于java测试案例和java测试案例模拟无返回值方法方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。