51Testing软件测试论坛

标题: 自动化测试工具 [打印本页]

作者: developing_T    时间: 2005-5-8 15:21
标题: 自动化测试工具
上传一个用.net开发的测试工具,里面有使用说明,希望对大家有帮助。
也希望高手们能拓展它的功能,使它更加健壮。
整个的开发过程可以参考《高效软件测试自动化》电子工业出版社 "Effective Software Test Automation"。
它可以自动获得被测程序的信息,并列到Excel文件中,还会根据这些信息自动生成测试脚本,你要做的就是运行脚本就OK了,其他一切工作基本都可以由它自动完成,其中包含了.net的类反射和代码生成技术。
它生成的脚本是一个exe可执行文件,可用于单元测试、回归测试和集成测试。

5/17 我又改进了一点,现在是最新版

[ Last edited by developing_T on 2005-5-18 at 16:37 ]
作者: developing_T    时间: 2005-5-8 17:08
源代码也发上来,大家可以添加一些新功能。
技术问题可以参考
.net调用Excel API
.net System.Reflection命名空间,类反射
.net System.CodeDom 命名空间,代码生成技术

5/17 我又改进了一点,现在是最新版

[ Last edited by developing_T on 2005-5-17 at 09:16 ]
作者: developing_T    时间: 2005-5-9 17:46
说明:
系统要求
Windows 2000/XP
Microsoft Visual Studio.NET Framework
Microsoft Visual Studio.NET IDE 2002/2003
Microsoft Excel 2000/XP/2003


我们开始测试LowLevelObj.dll程序集
(1)启动AutomatedTest.exe
测试脚本路径:C:\Temp2
测试结果保存:C:\Temp2

[ Last edited by developing_T on 2005-5-18 at 16:36 ]
作者: developing_T    时间: 2005-5-18 16:39
(2)开始
点[打开程序集]弹出Dll under Test话筐,这时选择要测试的程序集,在这里我们就选择\Simple\LowLevelObj\bin\Debug文件夹下的LowLevelObj.dll作为被测对象。选中后点[打开],将看到右侧列出了LowLevelObj.dll程序集信息,我们只对SimpleMath感兴趣,所以勾选它
作者: developing_T    时间: 2005-5-18 16:41
(3)生成测试用例
选中SimpleMath后点[生成测试用例](等待…),如果顺利,可以看到下图

在这张表单中列出了SimpleMath所包含的所有构造函数和方法,比如第9行的SimpleCalc方法,他要求两个int型和一个枚举型的参数,程序会自动为他们付值(随机的)。
作者: developing_T    时间: 2005-5-18 16:43
(4)编辑Excel
现在我们要对这些Excel数据进行编辑,告诉它要测试我们感兴趣的方法。
表单的第4, 5, 6, 11 行是没用的这些方法并不是我们关心的,所以右键删除这几行。我们主要来测试SimpleCalc和PowerCalc这两个方法,现在就复制SimpleCalc和PowerCalc所在的这两行,然后在下面的N行中粘贴出他们的副本,并更改里面的数值,在绿色的格子里输入期望返回的结果,编辑结果如图:

上面的数值是手工设置的,你也可以设置成不同的值,编辑完成后保存Excel,但是不要关。

[ Last edited by developing_T on 2005-5-18 at 16:50 ]
作者: developing_T    时间: 2005-5-18 16:53
(5)生成测试脚本
回到Automated Software Test程序,点上面的 [生成测试脚本],如果一切顺利稍等片刻程序会开启一个.net IDE, 里面的测试脚本代码已经生成好了,现在只需编译运行就OK。编译前它可能会提示保存信息,一般直接点保存就可以了。成功的话你会看见一个黑色的命令窗口和一个Excel窗口快速闪过。
(6)查看结果
到C:\Temp2下看,现在多了LowLevelObj文件夹和TestLowLevelObj200556144347.xls文件(点开它看一下,是测试结果)。LowLevelObj是测试脚本工程,如果想再次执行测试,可以到C:\Temp2\LowLevelObj\Bin\Debug下运行TestLowLevelObj.exe
在测试前可以对这个文件夹下的testLowLevelObjData.xls里的数据进行修改,输入你期望测试的数据。

上图是TestLowLevelObj200556144347.xls文件,红色表示实际值和期望值不符。
作者: developing_T    时间: 2005-5-18 16:53
我在这只是把AutoTest一些暂有的功能介绍给大家,程序的健壮要大家来维护,可以继续给它添加一些功能,比如测试数据库功能,测试注册表功能等等。
在代码,程序或者关于软件测试方面,也希望和大家交流。
详细的内容可以参考《高效软件测试自动化》”Effective Software Test Automation” 这本书,书里包含了我所说的所有方面。
作者: wl7532329    时间: 2005-5-20 16:02
兄弟,你真好~~
谢谢拉。。
作者: developing_T    时间: 2005-5-20 16:44
不客气    顺便添加点功能,比如实现连接数据库:)
作者: wl7532329    时间: 2005-5-24 09:46
这个是不是还要安装.net啊?我的机子没装哪个哦~~
作者: developing_T    时间: 2005-5-24 14:53
没装.net的话脚本就没法生成了~~~
作者: snowflake    时间: 2005-6-10 14:07
兄弟,你干的漂亮!
作者: kernzhang    时间: 2005-6-11 12:02
不错!顶一把!
作者: wuzhe    时间: 2005-6-16 19:23
标题: 请教
他具体有什么用呀,我的知识有限,请多执教 developing_T
作者: developing_T    时间: 2005-6-20 10:14
在软件框架建成后,编写实现代码前,可以先用这个工具生成测试脚本,待实现代码编写完成后对其测试。
如下这段代码,只是生成了框架,还没有编写实现代码:
-------------------------------------------------------
using System;       
using System.Runtime.InteropServices;
using System.Text;

namespace XYZInstrumentDrivers
{
        /// <summary>
        /// XYZ measurement system driver
        /// </summary>
        [
        Guid("C5EA5B79-0C08-4f88-A3EF-FAEF56C44040"),       
        ClassInterface (ClassInterfaceType.AutoDual)
        ]

        public class XYZDriver
        {               
                /// <summary>
                /// Default constructor
                /// </summary>       
                public XYZDriver()
                {
                }
               
                public int Init(string resourceName, bool idQuery, bool reset)
                {       
                        return 0;
                }

                public void ErrorQuery(ref int errorCode, ref string errorMessage)
                {                       
                        return;
                }

                public void ErrorMessage(int statusCode, ref string message)
                {
                        return;
                }

                public void RevisionQuery(ref string instrumentDriverRevision, ref string firmwareRevision)
                {
                        return;
                }

                public void Reset()
                {
                        return;
                }

                public void SelfTest(ref short selfTestResult, ref string selfTestMessage)
                {
                        return;
                }               

                public void TimeOut(int setTimeOut)
                {
                        return;
                }
               
                public void Dcl()
                {
                        return;
                }

                public void exec(string sendStringCommand)
                {
                        return;
                }

                public void SetPaddlePosition(int paddle, int positionSelector, short optionalPosition)
                {
                        return;
                }
                     
                public void SetScanRate(int scanSelector, int optionalScanRate)
                {
                        return;
                }
               
                public void PaddlePosition(int paddle, short position)
                {
                        return;
                }
                ……

                public void RecallState(int saveLoc)
                {
                        return;
                }

        }                //end of class
}                        //end of namespace
------------------------------------------------
这时可以用AT工具对这些public方法生成测试用例,待实现代码编写完成后可以对其正确性进行测试。

[ Last edited by developing_T on 2005-6-22 at 08:52 ]
作者: wuzhe    时间: 2005-6-20 17:26
多谢 developing_T
作者: developing_T    时间: 2005-6-21 14:51
这个程序对现实的.net程序测试还有很大不足,不过代码是开放的,我们可以添加需要的功能
作者: developing_T    时间: 2005-6-21 14:58
你也是做测试的吗,多交流
作者: wuzhe    时间: 2005-6-22 17:26
我是测试专业
      正在学习测试的知识
  以后请多指教
作者: developing_T    时间: 2005-6-22 18:13
呵呵,别说指教,交流吧,其实我学的不是软件专业, my major is quality control.
作者: wuzhe    时间: 2005-6-23 16:48
你能告送 外包是作什么的吗
作者: developing_T    时间: 2005-6-24 10:54
我的理解外包是公司把你放到其他的公司里为其他公司工作。比如外包到微软,IBM什么的,你的公司负责给你发工资,和支付一些其他费用。你是哪家公司的?
作者: wuzhe    时间: 2005-6-29 10:22
我还在上学
只是想多了解些东西
作者: ww0221542    时间: 2005-8-12 17:17
多谢多谢啊 呵呵
作者: developing_T    时间: 2005-8-16 09:25
程序还有些 BUG,大家一起改进吧~:)
作者: thomaszhong    时间: 2005-9-17 17:06
兄弟,你很牛啊,我很佩服你,不过我刚刚在用这个工具的时候出了点问题,最后一步进行不下去,
作者: developing_T    时间: 2005-9-25 16:49
最后一步?调不出.net IDE吗?
这个我只在几台机器上测试过,配置如下:

Windows 2000
Office 2003
VS.net 2002

如果用的 office 2000的话要把代码中的excel接口参数修改一下才能正常运行。
作者: er7758    时间: 2005-12-28 11:36
标题: 不行呀!
我解压缩以后打开文件,显示文件少一个插件呀!
作者: developing_T    时间: 2006-1-11 14:32
不会呀, 我试过很多次的, 不过我现在没有 .net IDE , 也不呢验证。
作者: fcjwj    时间: 2006-1-15 20:49
标题: 啊啊啊
第二个下载不了啊????
作者: herryxzl    时间: 2006-1-17 09:00
asd
作者: herryxzl    时间: 2006-1-17 09:02
请问楼主,这个工具可以直接测试用Java或C++写的程序么?另外,我们要做黑盒的系统测试,不知道这个工具能否帮上忙?多谢!
作者: chzyfyl    时间: 2006-2-20 16:30
不错,有vs.2005版本的吗?
作者: watercloset    时间: 2006-3-9 12:29
这个工具的思想是不错的,但是其实现方式存在一些难以解决的问题。如果做二次开发,建议摒弃他的代码而利用他的思想是不错的。
作者: xlm210    时间: 2006-5-24 10:35
谢谢 拿去44看
作者: abens0426    时间: 2006-5-26 18:37
Microsoft Visual Studio.NET IDE 2005最后一步出错了啊~
楼主能不能做个2005版本的呀?
作者: thomaszhong    时间: 2006-6-3 17:59
不错,本人正在学习.net开发测试工具,可惜没什么好书知道,今天看到楼主开发的工具真牛,楼主能推荐几本测试工具开发方面的书吗?我想加你为qq好友以后多向你请教可以不?
作者: thomaszhong    时间: 2006-6-5 10:14
楼主怎么不来回帖了啊,我的qq号码是10619419,如果楼主愿意指导我的话请加我,因为我不能看你的资料.加我时请著名.谢谢
作者: thomaszhong    时间: 2006-6-7 11:20
楼住快来啊
作者: thomaszhong    时间: 2006-6-8 15:44
谁有权限帮我查一下楼主的资料啊,他的联系方式是什么啊????我怎么没权限查看啊??????
作者: developing_T    时间: 2006-6-15 17:22
如果用Microsoft Visual Studio.NET IDE 2005需要重新编译一下,哪位有兴趣可以帮忙,我这里没有.net环境了
作者: kyj520    时间: 2006-8-15 10:01
新手还不能用这个!!!!!!!!!!
作者: testcat    时间: 2006-9-11 13:24
thanks very much
作者: miny19    时间: 2006-9-13 11:11
又学了一招,谢谢。
作者: 问剑几曾愁    时间: 2006-11-30 14:33
下来看看再说
作者: dream.ttt    时间: 2007-2-6 16:23
标题: 下一下子试试。:)
试试就试试!
作者: star-drift0312    时间: 2007-6-28 10:53
不错.不过没法在vs2005上运行吧
作者: ly_rainy    时间: 2007-8-24 17:16
LZ还多讲讲这些方面的东西~
我现在正在学,还有很多的不懂~
作者: 423799223    时间: 2007-8-27 17:48
楼上的真强
服了你
作者: jackleipm    时间: 2007-12-20 10:24
厉害,取经!
作者: meng0819    时间: 2007-12-21 21:50
高人。牛人!
作者: 变心    时间: 2008-3-6 10:26

作者: 变心    时间: 2008-3-6 10:26

作者: log_1    时间: 2008-3-18 12:34
多谢
作者: hrwp    时间: 2008-4-9 11:47
多谢!
作者: q789789q    时间: 2008-4-13 10:29
谢谢LZ,学习中
作者: kueryang    时间: 2008-12-4 14:43

作者: z_three    时间: 2008-12-30 15:42
感谢分享,学习学习去
作者: tophqu    时间: 2009-1-10 23:56
这么好的东西,建议收技术分
作者: fzljt    时间: 2010-3-1 12:17
谢谢楼主,正在做.net的测试
作者: caiw0418    时间: 2010-11-16 14:05
顶下  收藏起来 下载看看




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2