51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2865|回复: 2
打印 上一主题 下一主题

[转贴] 存储过程测试

[复制链接]
  • TA的每日心情
    无聊
    2024-7-12 13:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2017-6-15 09:58:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    线上项目运行过程中,通常会有些bug,是直接修改数据库的存储过程就可以解决,类似这种情况,实际工作中会在真实环境执行存储过程之前,进行存储过程的测试,用到的方法如下:  
    环境VS2013+SQL Server2012

    数据库中存在存储过程(简单例子):  
    -===========================================================================    --- Author:     shilinjie    -- ALTER date:  20170313    -- Descaption:  该存储过程用于通过id获取详情    -- ===========================================================================    ALTER proc [dbo].[getdetailbyid]        @ID int    AS    BEGIN        select * from tb_A where pid=@ID    END    --EXEC [getdetailbyid] '1'测试步骤打开VS2013,打开SQL Server对象资源管理器,如下图:

       



    添加SQL Server:

      



    填写连接数据库的用户名密码:

      



    找到需要测试的存储过程,右键选择调试:

      



    此时会弹出输入参数,本例中的存储过程只有一个参数id:

      



    之后会进入调试状态,F11进行单步调试即可,鼠标指向参数,查看传入参数的值:

      



    执行之后,会显示结果和返回值:

      



    这只是个简单例子,测试过程中需要针对每个传入参数进行测试,如果存储过程中有分支,每个分支也都需要测试。  
    可能遇到的问题问题:在启动sql server中,启动调试时报错:无法启动 transact-sql调试器  



      
    解决方法:
    将 Windows 登录帐户添加为 sysadmin,在sql server中执行:
    1. <span class="n">exec</span> <span class="n">sp_addsrvrolemember</span> <span class="err">'</span><span class="n">PC</span><span class="o">-</span><span class="n">name</span><span class="err">\</span><span class="n">Administrator</span><span class="err">'</span><span class="o">,</span> <span class="err">'</span><span class="n">sysadmin</span><span class="err">'</span>
    复制代码


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2024-7-12 13:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2017-6-15 10:25:41 | 只看该作者
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-21 08:29 , Processed in 0.072541 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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