Rickie的软件测试学习笔记-第四周

本周预期是分析字符串转换数值类型时候发生的异常。

在C#中:

int.Parse(String str): 这种方法是将数字内容的字符串转换为int类型。

如果字符串的内容为Null ,则抛出ArgumentNullException异常;

如果字符串内容不是数字,则抛出FormatException异常。

使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内。

在Java中:

java.lang.Integer.parseInt(String s, int radix) 方法解析的字符串参数s作为一个有符号整数的基数指定的第二个参数基数

以下是java.lang.Integer.parseInt()方法的声明:

public static int parseInt(String s, int radix) throws NumberFormatException

参数

  • s -- This is a String containing the integer representation to be parsed.
  • radix -- This is the radix to be used while parsing s.

返回值

此方法返回指定基数中的字符串参数表示的整数.

异常

  • NumberFormatException --如果字符串不包含一个可分析的整数.

故,在C#中出现的两种异常,在Java中都归为了

  

  NumberFormatException

下面 是Java程序实例测试:

程序界面:

                        

                              

当输入为111q,即含有非法字符q时,抛出异常

                        

当输入超过了int能表示的范围时,抛出异常

                   

当输入为null(空)时,抛出的异常

                          

当输入全部为字母的时,抛出异常

                      

输入为正确的int字符时,输出正确的parse得到的值

                            

下面是该程序所使用的Java 代码:

 1     int count=0;
 2     public void start(Stage primaryStage) {
 3         primaryStage.setTitle("Form");
 4         AnchorPane root = new AnchorPane();
 5         HBox hbox1 = new HBox(8);
 6         final TextField textfield = new TextField();
 7         textfield.setPrefColumnCount(25);
 8         textfield.setPrefWidth(180);
 9         hbox1.setAlignment(Pos.CENTER_LEFT);
10         hbox1.getChildren().addAll(new Label("输入: "), textfield);
11         HBox hbox2 = new HBox(20);
12         Button btn = new Button();
13         btn.setText("确定");
14         final Text text1 = new Text();
15         final Text text2 = new Text();
16         btn.addEventHandler(MouseEvent.MOUSE_CLICKED,
17                 new EventHandler<MouseEvent>() {
18                     public void handle(MouseEvent event) {
19                         text1.setText(null);
20                         text2.setText(null);
21                         String textString = textfield.getText().toString();
22                         char[] textChar = textString.toCharArray();
23                         System.out.println(textString);
24
25                         try
26                         {
27                             int result = Integer.parseInt(textfield.getText());
28                             text2.setText("转化结果:"+ Integer.toString(result));
29
30                         }
31                         catch (Exception exception)
32                         {
33                             text1.setText("输入异常\n"+exception.toString());
34                         }
35                     }
36                 });
37         hbox2.getChildren().addAll(btn, text1,text2);
38         AnchorPane.setTopAnchor(hbox1, 40.0);
39         AnchorPane.setLeftAnchor(hbox1, 10.0);
40         AnchorPane.setTopAnchor(hbox2, 90.0);
41         AnchorPane.setLeftAnchor(hbox2, 20.0);
42         root.getChildren().addAll(hbox1, hbox2);
43         primaryStage.setScene(new Scene(root, 250, 120));
44         primaryStage.show();
45     }

				
时间: 2024-12-27 15:21:11

Rickie的软件测试学习笔记-第四周的相关文章

Rickie的软件测试学习笔记-第三周

本次测试基于上次的对于单次输入合法性测试的修改,对多个输入的合法性同时测试 EDITBOX    文本框的非法输入测试:  允许1到6个英文字符或数字,按OK检测合法性并反馈. 按限制条件或规则的等价类划分方法划分等价类      有效等价类 无效等价类 长度           1-6                  0,7, …     字符      A-Z,a-z,0-9       英文/数字以外字符,控制字符,标点符号 测试用例设计,根据有效和无效等价类可以设计出测试用例 编号 输

Rickie的软件测试学习笔记-第六周

本周实验主要内容是白盒测试,下面是对白盒测试的一些总结 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作. 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致. 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法

Rickie的软件测试学习笔记-第五周

由于测试条件的限制,目前先暂时对与黑盒测试进行了解 其中关于C#中对于黑盒测试 在日常编码过程中,我们常常会进行自动化测试.这里的自动化测试不是指单元测试,而是模拟人工输入来进行快速的.高并发的测试.可以使用的自动化工具有LOADRUNNER,以及目前在VS2010中的功能很强大的测试工作平台(录制操作步骤,自动生成代码).但是,这些工具的熟练掌握也有一定的时间成本,并且,最主要的,对于一个程序员来说,那不够灵活.所以,比较高效的一个做法是,调用WINDOWS API,自己动手写编码来实现. 下

软件测试学习笔记-week 1

阅读软件测试相关文章了解到软件测试的一些学习步骤如下: 1. 了解软件测试的定义 2. 确定测试的目标 3. 明确测试过程 同时,测试内容又有一下几点 1. 测试方法 2. 详细分类 3. 测试流程 4. 测试阶段 5. 测试模型 以及了解一些测试工具,如 1. 引入缺陷分析模型 2. 利用理论框架分析 3. 建立测试跟踪关系 4. 使用TestPlatform 老师课程ppt上,对于软件测试的定义如下 Software testing is any activity aimed at eval

软件测试学习笔记week 3 --- 测试框架初体验

测试框架初体验 在这周的软件测试课上,第一次了解了软件测试框架的概念.软件测试框架包含的范围非常广,从自动化测试框架到单元测试框架以及性能测试框架.在上个寒假中,在学习Coursera的在线课程时发现普林斯顿的单元测试做得非常强大,从程序正确性到Time consuming甚至Memory consuming,几乎能发现程序中的每一处错误或者缺陷.因此,在上完了这周的课程后,我查阅了一些资料,做了这篇随笔记录了解到的单元测试的知识. 一.什么是测试框架 要认识测试框架,首先要对所谓框架有概念.框

软件测试学习笔记week 7 --- Peer Review

同行评审(Peer review,在某些学术领域亦称 Refereeing),或译为同侪审查,是一种学术成果审查程序,即一位作者的学术著作或计划被同一领域的其他专家学者评审.一般学术出版单位主要以同行评审的方法来选择与筛选所投送的稿件录取与否,而学术研究资金提供机构,也广泛以同行评审的方式来决定研究是否授予资金.奖金等. 同行评审程序的主要目的是确保作者的著作水平符合一般学术与该学科领域的标准.在许多领域著作的出版或者研究奖金的颁发,如果没有以同行评审的方式来进行就可能比较会遭人质疑,甚至成为某

软件测试学习笔记week 8 --- 集成测试的策略

在学习软件测试过程中,接触了集成测试这个概念,并且了解一般的集成测试策略.集成测试策略概念较为抽象,查阅了一些资料后,在此详细的区分了各种集成测试策略. 集成测试的策略1)大爆炸集成优点:可以迅速完成集成测试:并且只要极少数的驱动和桩模块:用例也是最少的:简单:资源利用率高缺点:一次试运行成功的可能性不大,问题定位和修改比较困难,许多接口错误很容易躲过测试.适应于一个维护型项目或被测试系统较小 2)自顶向下集成优点:较早地验证了主要控制和判断点:按深度优先可以首先实现和验证一个完整的软件功能:功

软件测试学习笔记:Junit入门

软件测试的第一次上机课上,第一次使用JUint对项目进行测试. 安装是最开始要进行的工作,JUint的安装是比较容易的,只需将需要的jar包引入到项目中即可 最开始的Triangle代码如下: package com.tju.scs; public class Triangle { int a, b, c; public Triangle(){ a = 0; b = 0; c = 0; } public Triangle(int a, int b, int c){ if(a > b) { int

软件测试学习笔记:主路径测试

(a) (b)当将MAXPRIMES设置2到5直接时.t2=(n=5)会出现越界错误而t1=(n=3)不会 (c)当n=0或1时,程序不会经过while循环. (d) 节点覆盖 TR= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} 边覆盖 TR= {(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,5),(6,8),(8,9),(5,9),  (9,10),(9,11),(10,11),(11,12),(2,12),(12,13),