51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 8398|回复: 18
打印 上一主题 下一主题

[求助] 会编写自动化测试脚本指的是什么?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-8-11 14:46:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
经常在论坛看到说要学会自己编写测试脚本,但是不太清楚,什么样的脚本才叫自己编写的。是不是录制好的脚本,然后自己再添加一些函数等就叫“自行开发测试脚本”?呵呵,我是真的不太清楚,请知道的人告知。
还有想问一下,真正够资格被叫做测试工程师的应该具体具备什么样的能力呢?(具体点的)

[ 本帖最后由 hongleicome 于 2006-8-11 14:48 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-8-11 17:09:35 | 只看该作者
跟我的迷惑完全一样,高手赶快解答一下吧
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-8-11 17:53:37 | 只看该作者

haha

脚本的录制只能说是编写编写的一个部分!
测试工程师的定义严格来说的话要求还是比较高的!
起码会在一个项目中负责开展一个功能模块需求分析,测试计划,测试策略的制定,以及case的编写到完成,同时还要有一定的问题解决能力!以及测试报告的编写。其次,还要具有应用测试工具的能力,至少两门流行的测试工具!!
有事情可以交流:QQ:47054721  加我的时候请说明你是做测试的就OK!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-8-11 23:51:52 | 只看该作者
顶一下楼上。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2015-4-23 14:35
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    5#
    发表于 2006-8-12 10:55:51 | 只看该作者
    技术方面上面有人提过了,我觉得做好测试工作,对测试人员的素质也有一定的要求,例如沟通能力,语言表达能力,耐心,细心,逻辑思维能力,总结分析等等都是很重要的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2006-8-12 19:15:45 | 只看该作者
    自动化脚本是写的,录的很少,不然不能很好的驾驭整个系统的需要
    我就没有录过脚本,几乎所有脚本都是写的
    附上一小节脚本:
    一个一列表中找到想要的那一条记录

    Function SingleCustomer()
            innertext_v="序号客户编号.*"
            Dim i,j,text1,text2
            For j=1 to 100
                    rows=Browser("Browser").Page("Page").WebTable("innertext:="&innertext_v).RowCount
                    text2=customerNum
                    temp = text1
                    For i=1 to rows
                                    text1= Browser("Browser").Page("Page").WebTable("innertext:="&innertext_v).GetCellData(i,2)
                                    if   text1 = text2 Then
                                            Browser("Browser").Page("Page").WebTable("innertext:="&innertext_v).ChildItem(i,3,"Link", 0).Click
                                            Browser("Browser").Page("Page").Sync
                                            ExitAction
                                    End If
                    Next
           
                    If temp<>text1 Then
                            Browser("Browser").Page("Page").Link("html id:=.*scroll_1next").Click
                            Browser("Browser").Page("Page").Sync
                    else
                            Reporter.ReportEvent micFail,"客户列表搜索","搜索的目标客户不存在!"
                    end if
            Next
    End Function

    [ 本帖最后由 auqdppyv 于 2006-8-12 19:18 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2006-8-14 12:27:06 | 只看该作者
    原来要求“会自行开发测试脚本”的要求,真的是要求完全的自己编写,而不是对已经录制好的脚本的增加修改处理啊?那我还差的远需要继续学习……向6楼学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-8-13 09:25:18 | 只看该作者
    学习一下!
    能不能上传一个自已写的脚本看下
    谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-8-13 11:30:41 | 只看该作者
    用LR录脚本,然后修修改改,加点事务,参数化下,或者加点检查点之类,算不?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2008-8-13 14:30:02 | 只看该作者
    http://peking2toronto.spaces.live.com/blog/cns!A975CAF18FBB985B!416.entry
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-8-13 14:51:06 | 只看该作者
    http://peking2toronto.spaces.live.com/Blog/cns!A975CAF18FBB985B!411.entry?wa=wsignin1.0
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2008-8-14 13:22:31 | 只看该作者
    简单阐述下我个人的理解
    自动化测试脚本都需要自动化测试工具来运行。。。
    所以对不同公司的自动化测试工具,这里的会编写自动化测试脚本的意思也不太一样:
    1)从无到有,写一堆脚本
    2)录制一堆脚本,仅作局部修改
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-8-15 10:27:33 | 只看该作者

    不知道这个算不算会写脚本

    [TestMethod]
            public void TestAccessDirectly()
            {
                //assign the value to input parameters
                string inMovieID = "g06";
                string inMovieTitle = "F is for Function";
                int inMovieRunTime = 96;
                decimal inMoviePrice = 66.6600M;


                //connect sql server
                SqlConnection sc = new SqlConnection(connString);
                sc.Open();

                // get both tables into a DataSet as a expected outcome
                
                DataSet tmp = new DataSet();
                SqlDataAdapter sda = new SqlDataAdapter("select * from tblMain", sc);
                sda.Fill(tmp, "tblMain");

                //insert the input parameters into DataSet
                DataRow tblMainDataRow = tmp.Tables[0].NewRow();
                tblMainDataRow["MovID"] = inMovieID;
                tblMainDataRow["MovTitle"] = inMovieTitle;
                tblMainDataRow["MovRunTime"] = inMovieRunTime;
                tmp.Tables[0].Rows.Add(tblMainDataRow);
                DataView dv = new DataView();
                dv = tmp.Tables[0].DefaultView;
                dv.Sort = "MovID ASC";

                
                DataSet expected = new DataSet();
                expected.Tables.Add(dv.ToTable());

                sda = new SqlDataAdapter("select * from tblPrices", sc);
                sda.Fill(expected, "tblPrices");

                DataRow tblPricesDataRow = expected.Tables[1].NewRow();
                tblPricesDataRow["MovID"] = inMovieID;
                tblPricesDataRow["MovPrice"] = inMoviePrice;
                expected.Tables[1].Rows.Add(tblPricesDataRow);



                // execute the procedure usp_AddMovie
                SqlCommand cmd = new SqlCommand("usp_AddMovie", sc);
                cmd.CommandType = CommandType.StoredProcedure;

                SqlParameter p1 = cmd.Parameters.Add("@movID", SqlDbType.Char, 3);
                p1.Direction = ParameterDirection.Input;
                p1.Value = inMovieID;
                SqlParameter p2 = cmd.Parameters.Add("@movTitle", SqlDbType.VarChar, 35);
                p2.Direction = ParameterDirection.Input;
                p2.Value = inMovieTitle;
                SqlParameter p3 = cmd.Parameters.Add("@movRunTime", SqlDbType.Int);
                p3.Direction = ParameterDirection.Input;
                p3.Value = inMovieRunTime;
                SqlParameter p4 = cmd.Parameters.Add("@movPrice", SqlDbType.Money);
                p4.Direction = ParameterDirection.Input;
                p4.Value = inMoviePrice;


                cmd.ExecuteScalar();

                // get both tables into a DataSet as a actual outcome
                DataSet actual = expected.Clone();
                sda = new SqlDataAdapter("select * from tblMain", sc);
                sda.Fill(actual, "tblMain");
                sda = new SqlDataAdapter("select * from tblPrices", sc);
                sda.Fill(actual, "tblPrices");
                bool test = TestData.TestDataTable(expected.Tables[0], actual.Tables[0]) && TestData.TestDataTable(expected.Tables[1], actual.Tables[1]);

                Assert.AreEqual(true, test, "");
                sc.Close();

            }
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-8-15 16:09:43 | 只看该作者
    如果用LR做测试,全部手写 会不会很麻烦..系统录制的确快捷,简单,代替了部分手工作业.

    我就是录制之后,自己做下修改.
    不知道算不算.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2011-1-12 10:24:51 | 只看该作者
    我也不知道什么事脚本,做白盒测试脚本是什么
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2011-1-20 16:53:54 | 只看该作者
    本帖最后由 582357212 于 2011-1-20 16:55 编辑

    呵呵  应用经验不多,仅从我写过的LR和QTP方面说,第一个LR写觉得不会比录后该更烦,不熟悉业务和LR函数的话写起来可能较慢,好处在于可以减少录制的50%以上冗余代码,并且以后修改起来容易,缺点就是要熟悉要测试产品中的逻辑结构。并且容易人为带入错误,需要不断调试。QTP,脚本变化较大,录制受限太多,我一般用录制功能也就是QTP自带的一些操作对象方法忘了,录制一行相关代码看下,只用到对象库,脚本中代码70%是VBS的方法,30%这样是QTP方法。呵呵 不同公司做法不同,欢迎拍砖,另外6#的function我看了一下,很好奇function竟然不要返回值,这么用要这样用吧 Sub SingleCustomer {} end sub.这样才不用返回SingleCustomer,不然按照6#的做法function里面应该返回SingleCustomer吧,例如SingleCustomer=“一个啥”,欢迎能给个解惑。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2011-2-10 10:52:56 | 只看该作者
    努力学习中...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2011-2-10 11:29:34 | 只看该作者
    学习了 继续关注~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-2-10 14:04:09 | 只看该作者
    还在学习手工修改QTP中。。。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 23:03 , Processed in 0.087242 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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