为WebSphere MQ环境编写用于MQ Explorer的Java测试

2024-04-30

为WebSphere MQ环境编写用于MQ Explorer的Java测试(共11篇)

篇1:为WebSphere MQ环境编写用于MQ Explorer的Java测试

JAVA实验报告 ——简单计算器的编写

班级:

学号:

姓名:

一、实验目的

1.掌握java图形用户界面(GUI)的设计原理和程序结构 2.能设计复核问题要求的图形用户界面程序 3.掌握常用组件的事件接口

4.应用awt和swing组件进行应用程序设计

二、实验条件

1.计算机一台 2.java软件开发环境

三、实验步骤

1、编写代码:

mport java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class JCalculator extends JFrame implements ActionListener {

private static final long serialVersionUID =-***457L

private class WindowCloser extends WindowAdapter {

public void windowClosing(WindowEvent we){

System.exit(0);

}

}

int i;

private final String[] str = { “7”, “8”, “9”, “/”, “4”, “5”, “6”, “*”, “1”,“2”, “3”, “-”, “.”, “0”, “=”, “+” };

JButton[] buttons = new JButton[str.length];

JButton reset = new JButton(“CE”);

JTextField display = new JTextField(“0”);

public JCalculator(){

super(“Calculator”);

JPanel panel1 = new JPanel(new GridLayout(4, 4));

for(i = 0;i < str.length;i++){

buttons[i] = new JButton(str[i]);

panel1.add(buttons[i]);

}

JPanel panel2 = new JPanel(new BorderLayout());

panel2.add(“Center”, display);

panel2.add(“East”, reset);

getContentPane().setLayout(new BorderLayout());

getContentPane().add(“North”, panel2);

getContentPane().add(“Center”, panel1);

for(i = 0;i < str.length;i++)

buttons[i].addActionListener(this);

reset.addActionListener(this);

display.addActionListener(this);

addWindowListener(new WindowCloser());

setSize(800, 800);

setVisible(true);

pack();

}

public void actionPerformed(ActionEvent e){

Object target = e.getSource();

String label = e.getActionCommand();

if(target == reset)

handleReset();

else if(“0123456789.”.indexOf(label)> 0)

handleNumber(label);

else

handleOperator(label);}

boolean isFirstDigit = true;

public void handleNumber(String key){

if(isFirstDigit)

display.setText(key);

else if((key.equals(“.”))&&(display.getText().indexOf(“.”)< 0))

display.setText(display.getText()+ “.”);

else if(!key.equals(“.”))

display.setText(display.getText()+ key);

isFirstDigit = false;

}

public void handleReset(){

display.setText(“0”);

isFirstDigit = true;

operator = “=”;

}

double number = 0.0;

String operator = “=”;

public void handleOperator(String key){

if(operator.equals(“+”))

number += Double.valueOf(display.getText());

else if(operator.equals(“-”))

number-= Double.valueOf(display.getText());

else if(operator.equals(“*”))

number *= Double.valueOf(display.getText());

else if(operator.equals(“/”))

number /= Double.valueOf(display.getText());

else if(operator.equals(“=”))

number = Double.valueOf(display.getText());

display.setText(String.valueOf(number));

operator = key;

isFirstDigit = true;

}

public static void main(String[] args){

new JCalculator();

} }

2、运行结果,见截图

计算测试:123+456=579结果正确,程序无误。

计算测试:10X10X10=1000,结果正确,程序无误。

四、实验总结

通过对计算器窗体的编写我熟悉

java图形用户界面的设计原理和程序结构熟悉java awt和swing的组合。学会将书本上的知识运用在实际中,提升 了编程能力。尤其在JavaApplet图形界面的布局方面学到很多,以前布局很乱并且很多布局都是无效的。在此次实践学习中通过查阅很多资料和同学以及老师的帮助,充分发挥了JavaApplet界面布局的优越性。另外按钮功能的实现也是本次课设的一大难点,怎样实现那些功能也是关键因素。

篇2:为WebSphere MQ环境编写用于MQ Explorer的Java测试

谈案例教学法用于商务英语教材编写

目前我国专业英语教学仍处在起步阶段,教学中教材的选用主观随意性大,教材建设欠规范与科学性,教材研究滞后.本文对这种现状进行了初步的分析,并根据教学法与教材编写相适应的`重要原则,提出了要用科学的教学理论来指导教材编写.鉴于商务英语教学的特点,本文提出,案例教学法可以在商务英语教学中进行运用和实践,并在教材编写中施以落实.

作 者:毛锋 作者单位:上海对外贸易学院,00刊 名:中国成人教育 PKU英文刊名:CHINA ADULT EDUCATION年,卷(期):“”(8)分类号:H3关键词:商务英语 教材建设 案例教学法

篇3:测试用例编写规范

统一测试用例编写的规范,以保证使用最有效的测试用例,保证测试质量。

2. 范围

适用于公司对产品的业务流程、功能测试测试用例的编写。

3. 术语解释

3.1 测试分析:对重要业务、重要流程进行测试前的分析。

3.2 业务流程测试用例:关于产品业务、重要流程的测试用例。

4. 业务流程测试用例编写原则

4.1 系统性

4.1.1 对于系统业务流程要能够完整说明整个系统的业务需求、系统由几个子系统组成以及它们之间的关系;

4.1.2 对于模块业务流程要能够说明清楚子系统内部功能、重要功能点以及它们之间的关系;

4.2 连贯性

4.2.1 对于系统业务流程来说,各个子系统之间是如何连接在一起,如果需要接口,各个子系统之间是否有正确的接口;如果是依靠页面链接,页面链接是否正确;

4.2.2 对于模块业务流程来说,同级模块以及上下级模块是如何构成一个子系统,其内部功能接口是否连贯;

5. 测试用例设计的方法

5.1 等价类划分法

5.1.1 确定等价类的原则

5.1.1.1 如果输入条件决定了取值范围,或值的个数,则可以确立一个有效等价类和两个无效等价类。

5.1.1.2 如果输入条件规定了输入值的集合,或者规定了“必须如何”的条件,此时可确立一个有效等价类和一个无效等价类;

5.1.1.3 如果输入条件是一个布尔量,则可以确定一个有效等价类和一个无效等价类;

5.1.1.4 如果规定了输入数据的一组值,而且程序对每个输入值分别进行处理,此时可为每一个输入值确立一个有效等价类,此外,针对这组值确立一个无效等价类,它是所有不允许输入值的集合;

5.1.1.5 如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同的角度违反规则)。

5.1.1.6 如果确知,已划分的等价类中各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。

5.1.2 测试用例的选择原则

5.1.2.1 为每一个等价类规定一个唯一的编号;

5.1.2.2 设计一个新的测试用例,使其尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步,直至所有的有效等价类都被覆盖过;

5.1.2.3 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直至所有的无效等价类都被覆盖为止。

5.2 边界值分析法

5.2.1 测试用例的选择原则

5.2.1.1 如果输入了条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超越这个边界范围的值作为测试输入数据;

5.2.1.2 如果输入条件规定了值的个数,则用最大个数、最小个数、比最大多1、比最小小1的数作为测试输入数据;

5.2.1.3 根据规格说明的每个输出条件,使用前面的原则;

5.2.1.4 如果程序的规格说明给出的输入输出域是有序集合,则应选取集合的每一个元素和最后一个元素作为测试用列;

5.2.1.5 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例;

5.2.1.6 分析规格说明,找出其他可能的边界条件。

6. 测试用例设计的原则

6.1 全面性

6.1.1 应尽可能覆盖程序的各种路径

6.1.2 应考虑存在跨年、跨月的数据

6.1.3 大量数据并发测试的准备

6.2 正确性

6.2.1 输入界面后的数据应与测试文档所记录的数据一致

6.2.2 预期结果应与测试数据发生的业务吻合

6.3 符合正常业务惯例

6.3.1 测试数据应符合用户实际工作业务流程

6.3.2 兼顾各种业务变化的可能

6.4 仿真性

人名、地名、电话号码等应具有模拟功能,符合一般的命名惯例;不允许出现与知名人士、小说中人物名等雷同情况。

6.5 可操作性

测试用例中应写清测试的操作步骤,不同的操作步骤相对应的操作结果。

7. 测试用例编写格式细则

7.1 测试用例内容

7.1.1 具体实施可以采用EXCEL和图形相结合,可用EXCEL编写测试用例的同时插入图形来加以说明。测试用例设计的内容可由:模块名、功能说明或图形说明、测试用例输入、应输出结果、实际输出结果、结论、BUG编号、BUG级别8部分组成。

7.1.2 在测试用例设计模版中有“业务流程测试用例设计模版”(包含整体业务流程)和“功能测试用例设计模版”两个模板可按需要选择。

7.2 测试用例表格格式

7.2.1 表格内容的字体为宋体;

7.2.2 表格内容的字型为12号;

8. 测试用例优先级

测试用例优先级

描 述

A

测试计划中重要的模块功能和业务流程

B

测试计划中比较重要的模块功能和业务流程

C

测试计划中次重要的模块功能和业务流程

D

测试计划中不重要的模块功能和业务流程

E

系统小单元、系统容错功能

对于A、B 级应重点考虑

9. BUG级别

参考软件测试停止标准中的错误级别.

篇4:java基础测试题及答案

A、abc.length( ) B、abc.length C、len(abc) D、ubound(abc)

2、构造方法何时被调用(B )

A.类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时

3、下列语句片段 int a=10,b=4,c=20,d=6; System.out.println(a++*b+c*--d); 的结果为( C )

A.144 B.28 C.140 D.不能执行

4、下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C )

A、protected B、static C、private D、public

5、编译并运行下述程序段的结果是:( A )。

public class Test{

public static void main(String argv[]){ int[] count = new int[4]; System.out.println(count[4]); } }

A.编译时错误 B.运行时错误 C.输出0 D.输出null

6、在java的一个异常处理中,哪个语句块可以有多个( A )

A、catch B、finally C、try D、throws

7、若在某一个类定义中定义有如下的方法: final void aFinalFunction( ); 则该方法属于( C )。

A.本地方法 B.静态方法 C.最终方法 D.抽象方法

9、类Test1定义如下:

1) public class Test1{

2) public float aMethod(float a, float b){ } 3)

4) } 将以下哪种方法插入行3是不合法的。( B ) A、public float aMethod(float a, float b, float c){ } B、public float aMethod(float c, float d){ } C、public int aMethod(int a, int b){ }

D、private float aMethod(int a, int b, int c){ }

10、Java程序的.执行过程中用到一套JDK工具,其中java.exe是指( B )

A.Java文档生成器B.Java解释器 C.Java编译器D.Java类分解器

11、在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来完成。

A.try子句 B.catch子句 C.finally子句 D.throw子句

12、定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:(C)

A. private class MyClass extends Object B. class MyClass extends Object C. public class MyClass

D. protected class MyClass extends Object

13、给出如下代码:

class Test{ private int m;

public static void fun { // some code... } }

如何使成员变量m 被函数fun()直接访问? ( C ) A、将private int m 改为protected int m B、将private int m 改为 public int m C、将private int m 改为 static int m D、将private int m 改为 int m

14、A派生出子类B, B派生出子类C, 并且在Java源代码中有如下声明: 1)A a0 =new A();

2)A a1 =new B(); 3)A a2 =new C();

问以下哪个说法是正确的?(D ) A. 只有第1行能通过编译

B. 第1、2行能通过编译,但第3行编译出错

C. 第1、2、3行能通过编译,但第2、3行运行时出错 D. 第1行、第2行和第3行的声明都是正确的

15、下面哪个语句(初始化数组)是不正确的:( B )

A.int x[] = {1,2,3}; B.int x[3] = {1,2,3};

C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3};

16、下述概念中不属于面向对象方法的是( D )。

A. 对象、消息 B.继承、多态 C.类、封装 D.过程调用

17、下面哪条语句把方法声明为抽象的公共方法?( B ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract;

18、在java中如果要在字符串类型对象s=“JAVA”,中找出”V?出现的位置可使用下面哪个法:(C) A.mid(2,s); B.charAt(2); C.s.indexOf(“V?); D.indexOf(s,?V?);

19、给出下面代码:

public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } }

哪个语句是正确的? ( B )

A.编译时将产生错误; B.输出零; C.编译时正确,运行时将产生错误; D.输出空。

篇5:java基础测试题及答案

A、abc.length( ) B、abc.length C、len(abc) D、ubound(abc)

2、构造方法何时被调用(B )

A.类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时

3、下列语句片段 int a=10,b=4,c=20,d=6; System.out.println(a++*b+c*--d); 的结果为( C )

A.144 B.28 C.140 D.不能执行

4、下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C )

A、protected B、static C、private D、public

5、编译并运行下述程序段的结果是:( A )。

public class Test{

public static void main(String argv[]){ int[] count = new int[4]; System.out.println(count[4]); } }

A.编译时错误 B.运行时错误 C.输出0 D.输出null

6、在java的一个异常处理中,哪个语句块可以有多个( A )

A、catch B、finally C、try D、throws

7、若在某一个类定义中定义有如下的方法: final void aFinalFunction( ); 则该方法属于( C )。

A.本地方法 B.静态方法 C.最终方法 D.抽象方法

9、类Test1定义如下:

1) public class Test1{

2) public float aMethod(float a, float b){ } 3)

4) } 将以下哪种方法插入行3是不合法的。( B ) A、public float aMethod(float a, float b, float c){ } B、public float aMethod(float c, float d){ } C、public int aMethod(int a, int b){ }

D、private float aMethod(int a, int b, int c){ }

10、Java程序的.执行过程中用到一套JDK工具,其中java.exe是指( B )

A.Java文档生成器B.Java解释器 C.Java编译器D.Java类分解器

11、在异常处理中,如释放资源、关闭文件、关闭数据库等由( C )来完成。

A.try子句 B.catch子句 C.finally子句 D.throw子句

12、定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:(C)

A. private class MyClass extends Object B. class MyClass extends Object C. public class MyClass

D. protected class MyClass extends Object

13、给出如下代码:

class Test{ private int m;

public static void fun() { // some code... } }

如何使成员变量m 被函数fun()直接访问? ( C ) A、将private int m 改为protected int m B、将private int m 改为 public int m C、将private int m 改为 static int m D、将private int m 改为 int m

14、A派生出子类B, B派生出子类C, 并且在Java源代码中有如下声明: 1)A a0 =new A();

2)A a1 =new B(); 3)A a2 =new C();

问以下哪个说法是正确的?(D ) A. 只有第1行能通过编译

B. 第1、2行能通过编译,但第3行编译出错

C. 第1、2、3行能通过编译,但第2、3行运行时出错 D. 第1行、第2行和第3行的声明都是正确的

15、下面哪个语句(初始化数组)是不正确的:( B )

A.int x[] = {1,2,3}; B.int x[3] = {1,2,3};

C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3};

16、下述概念中不属于面向对象方法的是( D )。

A. 对象、消息 B.继承、多态 C.类、封装 D.过程调用

17、下面哪条语句把方法声明为抽象的公共方法?( B ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract;

18、在java中如果要在字符串类型对象s=“JAVA”,中找出”V?出现的位置可使用下面哪个法:(C) A.mid(2,s); B.charAt(2); C.s.indexOf(“V?); D.indexOf(s,?V?);

19、给出下面代码:

public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } }

哪个语句是正确的? ( B )

A.编译时将产生错误; B.输出零; C.编译时正确,运行时将产生错误; D.输出空。

篇6:编写测试用例方法心得体会

编写测试用例方法心得体会

编写背景:

一直以来都不太想把技术方面的文章写出来给大家看,一个是怕写作功底不好误导哪些刚入门的测试同行,自己的表达能力有限,另一方面怕有的同行拿出去炒作,再者测试网站论坛上关于测试用例的资料已经实在是多。但是看到同行纷纷都在问我测试用例的问题,都很想知道我写测试用例的心得体会。我就抱着试试看的心态写写吧,希望测试的老前辈看见了,可以给我多提提建议。

编写测试用例方法心得体会

在我的个人邮箱和MSN上,通常同行都问我类似下面这样的问题:

1、一个测试用例要写到什么程度才比较好?

2、刚开始做测试的时候,你是怎么学习写测试用例的?

3、你对黑盒测试用例的编写的体会是什么?有什么好的版本或者标准吗?

对于测试用例,而我目前正在思考的问题是:怎么写出对公司有价值的测试用例,对公司来说,怎么测试才是最有价值的测试?

下面先来分析第一个问题吧:一个测试用例要写到什么程度才比较好?

这个问题,没有定语,没有说是在什么样的一个情况下,因此我这里只能就我工作中碰到的情况说说了。说起来比较长阿,大家要有耐心看才行哈。^_^ 在我测试工作中,碰上的测试类型我自己划分成这么4种: ^

对项目、产品的测试,测试的时候通常要考虑这个项目的周期和测试资源。我所在的公司,通常项目开发时间都很短4到5个月,然而测试通常都是在开发即将结束的时候才真正介入。测试就是1个人负责。因此时间和人力资源对测试来说是完成测试工作的一个风险。为此在这种情况下,我都是先熟悉系统的业务,把握重点业务和功能后,参考需求,把测试需求、测试计划和测试大纲给制定好。由于时间关系,测试用例都是先写重点的业务,也就是集成测试的测试用例。另外测试用例是根据测试大纲来的。通常都是先挑最重要的测试项和风险大的业务功能编写测试用例。由于测试用例是本人执行,所以测试用例可以写的简单些,但是一定要开发人员能够看明白。可惜我所在的公司,都没有人来看我的测试用例。测试用例对我来说是用来提示我不要忘记了要测试哪些项。一些很有价值的bug通常不是在写测试用例的时候发现的,而是在测试软件的过程中,我在家睡觉前的思考和回家的路上思考出来的。这就是手动测试的魅力,有些软件的缺陷是在你使用软件的一瞬间和思考的一刹那突然发现的。所以要我回答测试用例要写到什么程度才比较好,我觉的只要你所写的测试用例在你的公司能够顺利的执行,不影响你的测试执行工作就可以了。因为测试用例写的太详细,你要花费时间和人力成本,这样出来的测试用例是最好的也是最贵的,一旦需求变更,也需要修改,这时你会发现这种详细的测试用例是最不挣钱的。测试用例写的太粗,别人看不懂,不能执行,那你要花费你的时间去解释,这就加大了测试的工作量。这也不是好的方法。

第二个问题,刚开始做测试的时候,你是怎么学习写测试用例的?

我之所以选择测试这个工作是因为:我毕业后,在第一家公司做技术支持,产品的问题很多,导致技术支持工作很辛苦、很累。为了让用户买到的产品的质量是好的,我选择了做测试,到了现在的公司。我刚做测试的时候,对测试一无所知,什么测试流程阿、文档阿都不知道,公司的测试和管理也不规范。对测试,大家都认为不就是拿个鼠标点来点去,谁都可以来做。为此,我经常上网查测试的资料,看看自己到底适合不适合做测试,测试到底是什么样的一个职业,怎么去规划自己的个人发展。其实要做好测试,真是不容易。不喜欢,真是不能做这个职业。

现在想想自己刚开始写测试用例的时候,真是好笑。就像小孩子学习写字一样。先是在网上狂搜索了一把测试用例的模板,综合了几个,就形成了。我之所以不用公司原有的测试用例模板,是因为太不适用了。还好,公司没有严格要求必须要那个模板,只要适用就行。模板找好了,可是写就费劲了。对于刚做测试的新人,看似简单的一个填表工作,要写好真是不简单。一开始写的比较不自然,有些生搬硬套,而且还很慢。没有办法,那时候没有人指导我,全靠自己自学和领悟,所以那段日子很苦阿!多写几次后,就知道和领悟了,测试用例要根据测试大纲来写,测试大纲要根据测试计划来写。测试大纲更多的是把握住测试项的方向,而测试用例是指导怎么去执行测试。还好,我有编程的经验,所以对我熟悉软件帮了一个很大的忙。熟悉了软件的业务才能去写测试用例,才能更好的去测试。这也是我一点一点的领悟出来的。说了这么多,不知道这样的回答是否是回答了这个问题。

最后一个问题了,我尽量少写些,文字太多了大家看的也累,我写的也累。嘿嘿。^_^ 你对黑盒测试用例的编写的体会是什么?有什么好的版本或者标准吗? 我的体会:

1、测试用例要根据测试大纲来编写

2、测试用例也要分测试项进行归类,这样比较好分析和阅读。如:业务流程测试、安装测试、功能测试、用户友好性测试、兼容性测试、性能测试、安全性测试等等。

3、编写测试用例要考虑各种情况,精力主要集中在软件的主要业务流程和风险高的地方。能分出测试优先级别就最好了。

4、熟悉系统,对编写测试用例很有帮助。

5、即使对测试很熟悉了,在时间非常紧的时候,编写测试用例还是很有必要和好处的。

今天就想到那么些了,以后想到了在补充上了。我把我用的模板给你们粘贴一份上来,只能给你们做些参考,具体还是要看对你所在的公司适用不适用。测试项的归类我就不列举了,因为每个公司的都不太一样。

北京测试空间科技发展有限公司是注册于北京市海淀区高新技术园的软件企业,目前主要业务范围包括软件测试管理 工具研发、软件测试项目外包和软件测试专业技术人才培养及派遣。在软件测试管理工具研发领域已成功开发具有

篇7:为WebSphere MQ环境编写用于MQ Explorer的Java测试

面试例题1:击鼠标比赛现在开始!参赛者有拉尔夫、威利和保罗。

拉尔夫10秒钟能击10下鼠标,威利20秒钟能击20下鼠标,保罗5秒钟能击5下鼠标。以上各人所用的时间是这样计算的:从第一击开始,到最后一击结束。

他们是否打平手?如果不是,谁最先击完40下鼠标?

解析:n秒钟击n下鼠标其实是击第一下鼠标时才开始计时的,实际上击n-1下需要n秒钟,那么若击40下鼠标,拉尔夫需要(40-1)/(9/10)=39/0.9秒,威利需要

(40-1)/(19/20)=39/0.95秒,保罗需要(40-1)/(4/5)=39/0.8秒,因此威利先击完。

答案:威利先击完。

面试例题2:100美元哪里去了?

3个朋友住进了一家宾馆。结账时,账单总计3 000美元。3个朋友每人分摊1 000美元,并把这3 000美元如数交给了服务员,委托他代到总台交账。但在交账时,正逢宾馆实施价格优惠,总台退还给服务员500美元,实收2 500美元。服务员从这500美元退款中扣下了200美元,只退还3个客人300美元。3个客人平分了这300美元,每人取回了100美元。这样,3个客人每人实际支付900美元,共支付2 700美元,加上服务员扣的200美元,共计2 900美元,那么这100美元的差额到哪里去了?

答案:这道题纯粹是文字游戏,但是如果你的头脑不够清晰,很可能把你搞糊涂了。客人实际支付2 700美元,就等于总台实际结收的2 500美元加上服务员克扣的200美元。在这2 700美元上加上200美元是毫无道理的,而在这2 700美元上加退回的300美元,这是有道理的,因为这等于客人原先交给服务员的3 000美元。

面试例题3:有一种小虫,每隔2秒钟分裂一次。分裂后的2只新的小虫经过2秒钟后又会分裂。如果最初某瓶中只有一只小虫,那么2秒后变2只,再过2秒后就变4只……2分钟后,正好满满一瓶小虫。假设这个瓶内最初放入2只这样的小虫。

问:经过多少时间后,正巧也是满满的一瓶?

答案:经过1分58秒时间,也正巧是满满一瓶。因为从一只虫蜕变为2只虫只需2秒钟。在瓶内只有一只虫子的情况下,经过2秒钟后就变成2只。这时的情况和瓶内一开始就有2只虫子的情况是一样的。出现这两种情况的时间差是2秒钟。所以,经过1分58秒后,也正好是满满一瓶。

面试例题4:斯芬克斯是古代希腊神话中的带翅膀的狮子女魔。传说她在底比斯附近要人猜谜,猜不出来就要杀人。一次,她要底比斯王子猜谜:“有一种动物,早上4条腿,中午2条腿,晚上3条腿,是什么动物?”聪明的王子说:“是人。”他猜中了。

如果你是现代的斯芬克斯,会提出什么样的问题呢?比如,1和0之间加上什么符号才可以使得到的数比0大又比1小呢?你知道吗?

答案:0.1面试例题5:父亲打电话给女儿,要她替自己买一些生活用品,同时告诉她,钱放在书桌上的一个信封里。女儿找到信封,看见上面写着98,以为信封内有98元,就把钱拿出来,数也没数放进书包里。在商店里,她买了90元的东西,付款时才发现,她不仅没有剩下8元,反而差了4元。回到家里,她把这事告诉了父亲,怀疑父亲把钱点错了。父亲笑着说,他并没有数错,错在女儿身上。

问:女儿错在什么地方?

答案:拿倒了,86看成是98了。

面试例题6:3个孩子翻衣兜,他们把兜里所有的钱都掏出来,看看一共有多少钱。结果一共有320日元。其中有两枚硬币是100日元的,两枚是50日元的,两枚是10日元的。每一个孩子所带的硬币中没有相同的。而且,没带100日元硬币的孩子也没带10日元的硬币,没带50日元硬币的孩子也没带100日元的硬币。你能弄清楚这3个日本孩子原来各自带了什么硬币吗?

答案:第一个小孩:100,50,10;第二个小孩:100,50;第三个小孩:10。

java 面试试题

1,谈谈final, finally, finalize的区别。

答案:final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

2,Anonymous Inner Class(匿名内部类)是否可以extends(继承)其它类,是否可以

implements(实现)interface(接口)?

答案:可以继承其他类或完成其他接口,在swing编程中常用此方式。

3,Static Nested Class 和 Inner Class的不同,说得越多越好。

答案:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

4,&和&&的区别。

答案:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).5,HashMap和Hashtable的区别。

答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.6,Collection 和 Collections的区别。

答案:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

7,什么时候用assert。

答案:1.4新增关键字(语法),用于测试boolean表达式状态,可用于调试程序。

使用方法 assert ,表示如果表达式为真(true),则下面的语句执行,否则抛出AssertionError。

另外的使用方式assert < boolean表达式>:,表示如果表达式为真,后面的表达式忽略,否则后面表达式的值用于AssertionError的构建参数。

注意编译时要增加-source 1.4 参数,否则报错。]运行时要增加-ea参数,否则assert行被忽略

8,GC是什么? 为什么要有GC?

答案:GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

9,String s = new String(“xyz”);创建了几个String Object?

两个

10,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 答案:Math.round(11.5)==12

Math.round(-11.5)==-11

篇8:java软件测试工程师个人简历

2. 把握有关要求,详细编写测试用例,做好测试前的.相应准备工作。

3. 搭建测试环境,保证测试环境的独立和维护测试环境的更新。

2013/4 — 2014/7:XX有限公司[1年3个月]

篇9:为WebSphere MQ环境编写用于MQ Explorer的Java测试

A、顺序存储的有序线性表 B、线性链表 C、二叉链表 D、有序线性链表

解析:二分法查找只适用于顺序存储的有序表。在此所说的有序表是指线性表中的元素按值非递减排列(即从小到大,但允许相邻元素值相等)。

在软件设计中,不属于过程设计工具的是__D____。

A、PDL(过程设计语言)B、PAD图 C、N-S图 D、DFD图

解析:软件设计工具包括:程序流程图、N-S、PAD、HIPO,判定表,PDL(伪码)。而DFD(数据流图)属于结构化分析工具。在switch(expression)语句中,expression的数据类型不能是__A____。

A、double B、char C、byte D、short

解析:表达式expression只能返回这个几种类型的值:int、byte、short和char。多分支语句把表达式返回的值依次与每个case子句中的值相比较,如果遇到匹配的值,则执行该case子句后的语句序列。下列叙述中,错误的是__D____。

A、父类不能替代子类 B、子类能够替代父类 C、子类继承父类 D、父类包含子类

通过继承实现代码复用:

Java中所有的类都是通过直接或间接地继承java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法,子类可以重写父类的方法,及命名与父类同名的成员变量。

子类通过隐藏父类的成员变量和重写父类的方法,把父类的状态和行为改变为自身的状态和行为。注意:子类中重写的方法和父类中被重写的方法要具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同。

由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。程序中凡是使用父类对象的地方,都可以用子类对象来代替。一个对象可以通过引用子类的实例来调用子类的方法。

java运行时系统根据调用该方法的实例,来决定调用哪个方法。对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法;如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。自定义表格类中的model部分应实现的接口是___A___。

A、AbstractTableModel B、JTable C、TableModel D、TableModelable 下列代码中,将引起编译错误的行是__B____。

1)public class Exercise{

2)public static void main(String args[]){

3)float f=0.0;

4)f+=1.0;

5)}

6)}

A、第2行 B、第3行 C、第4行 D、第6行

解析:float定义变量赋值时,需要在数值后面加f以标识它为浮点型,让系统知道该给它精确到多少位。下列关于Java多线程并发控制机制的叙述中,错误的是___B___。

A、Java中对共享数据操作的并发控制是采用加锁技术

B、线程之间的交互,提倡采用suspend()/resume()方法

C、共享数据的访问权限都必须定义为private

D、Java中没有提供检测与避免死锁的专门机制,但应用程序员可以采用某些策略防止死锁的发生 解析:

1)Java中对共享数据操作的并发控制是采用传统的封锁技术。一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。在Java语言中,临界区可以是一个语句块或是一个方法,并且用“synchronized”关键字标识。Java平台将每个由synchronized(Object)语句指定的对象设置一个锁,称为对象锁。

2)共享数据的所有访问都必须作为临界区,使用“synchronized”进行加锁控制。用“synchronized”保护的数据也必须是私有的,使线程不能直接访问这些数据,必须通过对象的方法。

3)Java中没有检测与避免死锁的专门机制,因此完全由程序进行控制,防止死锁的发生。

4)有时,某个线程进入“synchronized”块后,共享数据的状态并不一定满足线程的需要,它要等待其他线程将共享数据改变为它需要的状态后才能继续执行,但由于此时它占有了该对象的锁,其他线程无法对共享数据进行操作,为此Java引入wait()和notify(),这两个方法使java.lang.object类的方法,使实现线程通信的两个方法。

下列操作中,不属于Applet安全限制的是___D___。

A、加载本 B、读写本地文件系统 C、运行本地可执行程序 D、与同一个页面中的Applet通信 在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中,驱动模块相当于被测试模块的主程序,它接收测试数据,并传给被测试模块,输出实际测试结果。承接模块通常用于代替被测试模块调用的其他模块,其作用仅做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。

Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的__跨平台____特点。

解析:Java语言是一种跨平台,适合于分布式计算环境的面向对象的编程语言。具体来说,它具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。在运行时,由Java解释器自动导入,而不用import语句引入的包是__java.lang____。

解析:因为包java.lang所包含的类和接口对所有实际的Java程序都是必要的,所以,它被自动导入所有的程序且它是Java最广泛使用的包。下列程序的功能是创建了一个显示5个“Hello!”的线程并启动运行,请将程序补充完整。

public class ThreadTest extends Thread{

public static void main(String args[]){

ThreadTest t=new __ThreadTest()____;

t.start();}

public void run(){int i=0;

while(true){System.out.println(“Hello!”);

if(i++==4)break;

}

}

解析:ThreadTest继承java.lang.Thread类,重写了run()方法,实现了Java中的线程。ThreadTest t定义了空的线程对象,下面t.start()启动了这个线程,因此ThreadTest t=new ______;就应该是实例化该线程对象,所以空格中应填ThreadTest()。

Swing的顶层容器有:JApplet、JWindow、JDialog和__JFrame____。

顶层容器:JFrame、JApplet、JDialog和JWindow共4个。

中间容器:JPanel、JScrollPane、JSplitPane、JToolBar。

特殊容器:JInternalFrame、JLayeredPane、JRootPane。

基本控件:JButton、JComboBox、JList、JMenu、JSlider、JTextField。

不可编辑信息的构件:JLabel、JProgressBar、ToolTip、可编辑信息的构件:JColorChooser、JFileChooser、JFileChooser、JTable、JTextArea 所有的这些构件的分类都是按功能来划分的。14 下列叙述中正确的是___D___。

A、一个逻辑数据结构只能有一种存储结构

B、数据的逻辑结构属于线性结构,存储结构属于非线性结构

C、一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

D、一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率

解析:一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数据处理的效率是不同的。

Java的图形用户界面的最基本的组成部分就是构件(Component),构件是一个可以以图形化的方式显示在屏幕上并能与用户交互的对象,但构件不能独立地显示出来,必须将构件放在一定的容器中才可以显示出来。解析:容器Container是一个类,因为容器本身也是一个构件,具有构件的所有性质,因此继承之Component类。

下列叙述中,错误的是__A____。

A、File类能够存储文件 B、File类能够读写文件C、File类能够建立文件D、File类能够获取文件目录信息

解析:文件类File是java.io包中的一个重要的非流类,它以一种与系统无关的方式表示一个文件对象的属性。而目录在Java中作为一种特殊文件,即文件名的列表,通过类File所提供的方法,可得到文件或目录的描述信息(包括名字、路径、长度、可读、可写等),也可以生成新文件、目录、修改文件和目录,查询文件属性,重命名文件或者删除文件。

下列叙述中,正确的是___C___。

A、Reader是一个读取字符文件的接口 B、Reader是一个读取数据文件的抽象类

C、Reader是一个读取字符文件的抽象类 D、Reader是一个读取字节文件的一般类

解析:Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种,所以一共四个):InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的。

在这其中InputStream和OutputStream在早期的Java版本中就已经存在了,它们是基于字节流的,而基于字符流的Reader和Writer是后来加入作为补充的。在这四个抽象类中,InputStream和Reader定义了完全相同的接口:

int read()

int read(char cbuf[])

int read(char cbuf[], int offset, int length)

而OutputStream和Writer也是如此:

int write(int c)

int write(char cbuf[])

int write(char cbuf[], int offset, int length)用于输入压缩文件格式的ZipInputStream类所属包是___D___。

A、java.util B、java.io C、java.nio D、java.util.zip

解析:ZipInputStream该对象用于从ZIP压缩文件中创建输入流对象。

对象定义结构:java.util.zip.ZipInputStream

静态成员变量:CENATT、CENATX、CENCRC……,这些静态成员变量用于定义在压缩过程中采用的压缩算法。

构造方法:ZipInputStream(InputStream in)应用输入流对象创建从ZIP文件中读取数据的输入流对象。

成员方法:

int available()判断当前入口指定的压缩原始文件中是否还有未读数据。

void close()关闭ZIP输入流对象。

void closeEntry()关闭被读取的ZIP入口,并移动到下一压缩原始文件入口。

protectedZipEntry createZipEntry(String name)利用指定的名称创建ZipEntry对象实例。

ZipEntry getNextEntry()将输入流对象移动到下一入口对象。

int read(byte[] b, int off, int len)从当前ZipEntry中读取字节数组。

long skip(long n)将输入流指定的读取数据位置移动n个字节。

在Swing中用轻量级的构件替代了AWT中的重量级的构件,而且Swing的替代构件中都包含有一些其他的特性。与AWT构件不同,Swing构件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板(contentPane)上。

查找随机文件的记录时,应使用的方法是___C___。

A、readInt()B、readBytes(int n)C、seek(long l)D、readDouble()

文件操作中经常需要的是随机访问,Java中的RandomAccessFile类提供随机访问文件的功能,其中的seek方法实现了查找随机文件记录的功能,格式如下:

void seek(long pos);//用于移动文件指针到指定的位置 20 下列关于栈的描述中错误的是___B___。

A、栈是先进后出的线性表 B、栈只能顺序存储 C、栈具有记忆作用

D、对栈的插入与删除操作中,不需要改变栈底指针 21 对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是___D___。

A、冒泡排序为n/2 B、冒泡排序为n C、快速排序为n D、快速排序为n(n-1)22 对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为__C____。

A、B、n/2 C、n D、n+1 23 在进行顺序查找过程中,如果线性表中的第一个元素就是被查找元素,则只需做一次比较就查找成功,查找效率最高;但如果被查找的元素是线性表中的最后一个元素,或者被查找的元素根本就不在线性表中,则为了查找这个元素需要与线性表中所有的元素进行比较,这是顺序查找的最坏情况。所以对长度为n的线性表进行顺序查找,在最坏情况下需要比较n次。模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。软件具有以下特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性;②软件的生产过程与硬件不同,它没有明显的制作过程;③软件在运行、使用期间不存在磨损、老化问题;④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致软件移植的问题;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。

数据独立性是数据库技术的重要特点之一。所谓数据独立性是指__D____。

A、数据与程序独立存放 B、不同的数据被存放在不同的文件中

C、不同的数据只能被对应的应用程序所使用 D、以上三种说法都不对

在读字符文件Employee.dat时,使用该文件作为参数的类是___D___。

A、BufferedReader B、DataInputStream C、DataOutputStream D、FileInputStream 下列不是InputStream子类的是__C____。

A、文件输入流FileInputStream B、对象输入流ObjectInputStream

C、字符输入流CharInputStream D、压缩文件输入流ZipInputStream 28 Java中没有CharInputStream流。

下列方法中可以用来创建一个新线程的是___C___。

A、实现java.lang.Runnable接口并重写start()方法

B、实现java.lang.Runnable接口并重写run()方法

C、继承java.lang.Thread类并重写run()方法

D、继承java.lang.Thread类并重写start()方法 下列关于线程优先级的说法中,正确的是__C____。

A、线程的优先级是不能改变的 B、线程的优先级是在创建线程时设置的 C、在创建线程后的任何时候都可以设置 D、B和C 下列代码中,将引起一个编译错误的行是__D____。

1)public class Test{

2)int m,n;

3)public Test(){}

4)public Test(int a){m=a;}

5)public static void main(String args[]){

6)Test t1,t2;

7)int j,k;

8)j=0;k=0;

9)t1=new Test();

10)t2=new Test(j,k);

11)}

12)}

A、第3行 B、第5行 C、第6行 D、第10行

阅读下列代码后

public class Person{

int arr[]=new int[10];

public static void main(String args[]){

System.out.println(arr[1]);

}

}

正确的说法是__A____。

A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出为零 D、输出为空

32请阅读下列程序代码,然后将程序的执行结果补充完整。

程序代码:

class throwsException

{

static void Proc(int sel)throws ArithmeticException,ArrayIndexOutOfBoundsException

{

System.out.println(“In Situation”+sel);

if(sel==0){

System.out.println(“no Exception caught”);

return;

}

else if(sel==1){

int iArray[]=new int[4];

iArray[1]=3;

}

}

public static void main(String[] args)

{

try{

Proc(0);

Proc(1);

}catch(ArrayIndexOutOfBoundsException e){

System.out.println(“Catch”+e);

}finally{

System.out.println(“in Proc finally”);

}

}

} 执行结果:

In Situation0

no Exception caught

__In Situation1____

in Proc finally

解析:调用Proc(1)时,执行语句System.out.println(“In Situation”+sel);控制台输出In Situation1。然后在if语句中执行sel==1分支,该分支中无任何输出语句。

当使用Thread t=new Thread(r)创建一个线程时,表达式:r instanceof Thread的值是___false___。

表达式:r instanceof Thread的语义即“r是否为Thread的实例(instance)”。再看Thread的构造方法(Thread有许多构造方法,以下是最典型的构造方法,其它构造方法都是从下面的构造方法中“减掉”一些参数形成的):

Thread(ThreadGroup group, Runnable target, String name)

篇10:为WebSphere MQ环境编写用于MQ Explorer的Java测试

随着时代和互联网的不断发展,人们对科技产品的用户体验要求也在不断的增加,因此想要更好的满足人们的需要唯有不断的提升产品的质量,那么这就导致软件测试工程师的需要大量的增加,因此不少人想要加入到软件测试行业中,本篇文章小编就带读者看一下零基础如何成为Java软件测试工程师高薪就业。

在当下的IT行业中,越来越多的企业了解到测试工程师存在的必要性以及重要性,近年来,软件测试工程师逐步成为一个新的选择,未来的行业发展也受到大家的肯定,随之而来的就是相关人才的缺失,从业人员的薪资待遇必然也回水涨船高。软件测试岗位,俨然成了高薪的另一个代表。

Java软件测试工程师主要是进行性能测试,发现各种问题,然后反馈给开发人员,让开发出的产品更具备完善性。你觉得容易当上Java软件测试工程师吗?作为一名Java软件测试工程师,你需要掌握测试产品的特性,功能,然后会使用各种测试方法来检测和找出软件在使用过程中存在的技术缺陷。

要成为一名专业的Java软件测试工程师,你的专业知识不仅储备量得相当丰富,还得应用能力相当突出。那么跟Java相关的知识,你是必须有所涉及的,比如Java编程的原理,需求分析,进行编程这些你都得具备。并且你还得具有高度的工作责任心和自信心,你的工作岗位性质很重要。所以想要成为Java软件测试工程师的小伙伴需要适当的参加软件测试培训或者是看视频教程学习一下。

篇11:Oracle创建用于测试的大表

首先建立测试表

SYS@ORCL>create table test nologging as select rownum id,a.* from dba_objects a where 1=2;

Table created.

插入500万条数据:

SYS@ORCL>declare

l_cnt number;

l_rows number:=&1;

begin

insert /*+ append */ into test select rownum,a.* from dba_objects a;

l_cnt:=sql%rowcount;

commit;

while(l_cnt

loop

insert /*+ append */ into test select rownum+l_cnt,

owner,object_name,subobject_name,

object_id,data_object_id,

object_type,created,last_ddl_time,

timestamp,status,temporary,

generated,secondary

from sales

where rownum<=l_rows-l_cnt;

l_cnt:=l_cnt+sql%rowcount;

commit;

end loop;

end; 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

22 /

Enter value for 1: 5000000

old 3: l_rows number:=&1;

new 3: l_rows number:=5000000;

上一篇:归类歇后语下一篇:艾在端午阅读题答案