51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2003|回复: 3
打印 上一主题 下一主题

[讨论] 关于Junit的一些菜鸟问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-8 22:39:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟刚开始学软件测试~
那天老师叫我们做个junit的测试我就随便拿了个简单例子
import junit.testEquation.*;
import junit.framework.TestCase;

public class EquationTest extends TestCase {
        public EquationTest(String name) {
                super(name);
        }

        public void testAccount() {
                Equation e1 = new Equation(1, -2, 4);
                Equation e2 = new Equation(1.0, -2.0, 1.0);
                Equation e3 = new Equation(2, 12.3, 3);
                e1.account();
                e2.account();
                e3.account();
                assertEquals("无实数解", e1.getS());// 测试无实数解的情况
                assertTrue((e2.getX1() - e2.getX2()) < 0.0001
                                && (e2.getX1() - e2.getX2()) > -0.0001);
                // 测试等根的情况;
                assertTrue(e3.getX1() != e3.getX2());// 测试不等根的情况

        }
}
------------------------------------
public class Equation {
        double a;
        double b;
        double c;
        double x1, x2;
        String s;

        public Equation(double a, double b, double c) {
                this.a = a;
                this.b = b;
                this.c = c;
        }

        public void account() {

                double dalt = b * b - 4 * a * c;

                try {
                        if (dalt < 0) {
                                s = "无实数解";
                                System.out.println(s);
                        } else {
                                x1 = (-b + Math.sqrt(dalt)) / (2 * a);
                                x2 = (-b - Math.sqrt(dalt)) / (2 * a);
                                System.out.println(x1);
                                System.out.println(x2);

                        }

                } catch (Exception e1) {

                        e1.getStackTrace();
                }
        }

        public String getS() {
                return s;
        }

        public double getX1() {
                return x1;
        }

        public double getX2() {
                return x2;
        }
}
如上这个例子,但老师问了我句这样子测和不用junit直接运行程序看结果有区别么··那Junit的优势又体现在哪呢?我查了些资料了解junit是黑盒测试;但是要怎样运用才能体现出junit的特点呢~小弟是在茫然
比如上面的例子是不是太简单了!还请哪位高手指点下或者提供个好点的测试例子能体现junit特点的;因为这么课老师要求必须上台演示出来还要回答老师的疑问才能过····还请各位高手帮帮忙了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-12-9 21:10:48 | 只看该作者
帮帮忙~~~谢谢了额··
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-12-9 23:31:08 | 只看该作者
用junit测试的优势就在于可以避免最容易出现结果比对错误.越是case多出错的可能性越大.
看了你的测试程序.一个方法测了3个case.这样很不好.junit最好一个case测用一个方法去测.
一.代码清晰可读.二.方法的注释好写可读性强.三.便于维护和回归测试.
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-12-10 21:44:05 | 只看该作者
“junit测试的优势就在于可以避免最容易出现结果比对错误”
这句话什么意思能不能说详细点~
那就比如说我那个类Equation(一元二次方程求解)
拿给给各位高手测
除了刚才2L说的一个case一个方法
对比我自己写的还有哪些地方我该修改和注意的呢
或者说我对哪些方面东西漏测了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 09:57 , Processed in 0.071953 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表