51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【长期招募】博为峰网校招聘兼职讲师!2018热门技术,不再错过
一站式软件测试平台【专家88期】如何做好自动化测试技术和区块链技术? 【最新专题】大数据测试正确的打开方式
测试知识大闯关104期活动热播中51测试天地 年底来赚零花钱吧!自学软件测试那点事
查看: 1191|回复: 56

【你来问我来答第88期】:如何做好自动化测试技术和区块链技术?

[复制链接]
  • TA的每日心情

    昨天 15:04
  • 签到天数: 484 天

    连续签到: 1 天

    [LV.9]测试副司令

    发表于 2017-12-1 10:54:40 | 显示全部楼层 |阅读模式

    论坛IDcwb007
    真实姓名: 程文彬
    现任公司: 嘿丫科技
    现任职位:创始人
    工作经验:
    04年入职华为,在华为从事了十年的研发工作,离职前为华为某产品族集成与验证(I&V)部部长。在华为十年,当过测试小兵,做过工具开发,担任测试领域专家,也带过上规模团队;
    14年,离开华为,创办嘿丫科技,先后为业界多家知名企业提供业界领先的自动化测试解决方案。
    17年3月,和一帮华为离职同事启动区块链项目,负责区块链底层技术平台研发。

    各位会员可以在12月10日前以回帖的方式向客座专家提问。
    (请大家围绕本期客座专家的擅长领域进行提问、探讨)
    客座专家将在12月11日—12月31日为大家集中解答。

    机会难得,欢迎大家踊跃提问!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复

    使用道具 举报

    该用户从未签到

    发表于 7 小时前 | 显示全部楼层
    本才 发表于 2017-12-14 13:04
    如果要测试区块链项目,要从哪几点着手?

    1、要首先掌握密码学的基本知识(例如对称加密、非对称加密、数字签名的原理);
    2、理解数据结构中的链表概念,树的概念;
    3、区块链的交易记账模型(如何实现转账的,如何避免双花的,如何实现所有权验证的);
    4、若是基于以太坊代码做,那还得理解虚拟机运行原理;

    区块链项目重点测试如下内容:①转账,向单/多签名地址转账,向脚本转账;②如果对币的机制有修改,双花攻击测试;③智能合约功能及安全测试;④打包及交易确认效率。
    其实,任何软件的测试,都是可以基于“输入-输出-行为”模型(又叫IBO模型)来做测试分析和设计。

    点评

    精炼!  发表于 6 小时前
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    发表于 2017-12-7 10:20:57 | 显示全部楼层
    小文0111 发表于 2017-12-4 11:31
    老师你好,我想问下你们公司平时做区块链底层技术平台研发主要做什么项目,能简单的介绍下吗?

    区块链主要有几个特性:①、不可篡改;②所有节点公开全账本;③账户信息持续可追踪;④对等网络,没有上帝角色(什么系统管理员、数据库管理员、公司CEO等)。我们认为区块链会成为未来10年互联应用的一个底层技术,各行各业的各种项目,都可能会找到应用点。就比方说,商品溯源,传统溯源系统采用集中数据存储数据,其实这样的数据对数据库管理员来说/或者对运营公司来说,想怎么修改,就怎么修改,那它的数据可信度有多少?再举个例子,支付宝,马云就是上帝,这个上帝可以让你的支付宝账户瞬间从0变成1000万,只要他愿意。。。一句话,我相信“人之初,性本善”,但是难保不会从善变恶吧?
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    开心
    2017-7-20 14:17
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    发表于 2017-12-1 11:31:51 | 显示全部楼层
    果断,第一时间冒泡 。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]测试营长

    发表于 2017-12-1 11:38:38 | 显示全部楼层
    向区块链专家学习
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-1 14:38:03 | 显示全部楼层
    请问现在想接触自动化测试,可以推荐几本相关的书籍吗、谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-1 21:28:04 | 显示全部楼层
    我在努力中
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-4 11:27:47 | 显示全部楼层
    网上我看到项目使用区块链的八个基本条件,那也就是说如果不满足就不能做吗?主要公司里项目牵涉到这块,所以想学习下。希望能够得到你的解答。谢谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-4 11:31:35 | 显示全部楼层
    老师你好,我想问下你们公司平时做区块链底层技术平台研发主要做什么项目,能简单的介绍下吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-4 11:35:50 | 显示全部楼层
    我很早就对"自动化测试"有了概念,它的好处简直太多了:解放人力、避免人为因素干扰、更全面的检查问题...
    然而我始终没有学会它。
    首先,作为一个开发人员,我索要的不是LoadRunner这样的一个由外部录制作为展开的测试工具,这个工作是测试人员规划的,我既没有精力去录制,也对我们项目需要测试的点缺乏完整理解——我只知道我的模块这里有哪些地方需要测试。
    其次,我索要的也不是JUnit该怎么用,那个属于技术问题,通过百度可以解决。
    我所面临的困境是:
    1.测试数据从哪来?
    2.模块代码顺利走通之后如何确保数据的完整性?
    3.需求发生细节上的变动的情况下,自动化测试代码如何才能不受干扰的完成使命?

    测试数据从哪来,这严格地说不是一个问题,因为我们可以写死一些假数据供测试类使用,然而悲剧的问题是,有一些数据是很难掌握的——比如加密后的密码。如果想要模拟这些假数据,我必须把密码加密的过程也写到测试代码里去,这使得测试类变得庞大,并且最重要的是不再具有独立性——它与业务代码缠绕在一起了。
    老师你好,请问自动化测试代码怎么写?
    代码在我的模块顺利走通了,全程没有出现任何Exception,但这并不意味着胜利,因为我并不知道走完之后的数据能否在其它模块顺利被使用,如果数据不再完整,那就不能。然而基于同样的道理,我没办法在测试代码中使用大量篇幅去检查数据的完整性——那是业务的范畴,业务需求随时会变。

    所以第三个问题也就是实际上最困难的问题,如何让测试代码与业务需求脱钩?
    至少我认为,一段合格的测试代码,如果需求发生改变,不是功能性的改变,而是细节上的调整,那么测试代码应当是不用动。否则的话,需求天天变来变去的,这测试代码谁都会没精力去维护。
    不维护的测试代码==垃圾。
    哦对了,我们现在不是没有测试代码,只不过我们的测试代码就是长期不维护的垃圾……

    不知道那些拥有完整自动化测试代码的web项目都是怎么做的?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-4 11:42:00 | 显示全部楼层
    你好,如果测试视频网站,需要考虑哪些问题?
    同事面试B站被问到怎么测试B站视频,回来聊到这个。发现网上没有关于视频网站测试的介绍。现在视频和直播开始多了起来。想问问大神有没有做过。在这方面有哪些建议?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-4 11:47:46 | 显示全部楼层
    你好,求问 IOS 的 UI 自动化测试如何实现?
    调研了WebDriveAgent,在IOS10以上系统,真机执行,发现坑很多,遇到测试框架不稳定,执行总终端的问题,求问有没有更好的测试方案?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-5 09:40:40 | 显示全部楼层
    老师你好,我这里有个关于自动化的运行问题请指教?
    Selenium python,unittest 测试结果总是 Ran 0 tests in 0.000s
    #test_baidu.py
    from selenium import webdriver
    from time import sleep
    import unittest
    class TestBaidu(unittest.TestCase):
        def setUp(self):
            self.driver=webdriver.Firefox()
            self.driver.implicitly_wait(30)
            self.driver.get("https://www.baidu.com/")
        def test_bai(self):
            driver=self.driver
            driver.find_element_by_id("kw").clear()
            driver.find_element_by_id("kw").send_keys("selenium")
            driver.find_element_by_id("su").click()
            sleep(3)
            title=driver.title
            self.assertEqual(title,"selenium_百度搜索")
            driver.find_element_by_partial_link_text("selenium自动化").click()
            sleep(3)
        def tearDown(self):
            self.driver.quit()
    if __name__=="__main__":
        unittest.main()

    runtest.py
    import unittest

    test_dir = "./"
    deriver = unittest.defaultTestLoader.discover(test_dir,pattern="tset*.py")
    if __name__=="__main__":
        runner = unittest.TextTestRunner()
        runner.run(deriver)
    测试结果
    Ran 0 tests in 0.000s

    OK
    本以为电脑问题,更换电脑安装软件后相同代码,结果还是这个,不知问题出在哪里,求解决


    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-5 09:44:13 | 显示全部楼层
    自动化工具 关于使用 robot framework 的一个配置问题
    项目中使用robot framework做接口自动化测试
    目前脚本以及robot 与jenkins的配置都已完成
    只是存在一个小问题:
    一共有10多个case,运行时,偶尔会存在某个接口案例失败的情况
    此时 jenkins会将本次build标注为失败
    但是build 本身是成功的,只是某一个case运行失败而已
    我在网上查了很多pybot的 参数选项,没有找到解决方法
    在此向您请教,有什么参数,或者其他的解决思路吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-5 09:53:36 | 显示全部楼层
    求教下大神在自己的公司里目前使用的自动化测试都有哪些?想做个对比,弥补不足之处!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-5 09:57:49 | 显示全部楼层
    Appium 为一个项目做自动化的时候,目录结构有什么要注意的吗?
    第一次做自动化,没弄明白目录应该是怎样的.
    我的目标是想要运行点击一次执行,就可以把所有的测试用例都跑一遍,这样可以直观的看到有多少用例成功了,多少用例失败了.
    可是现在我有A.py和B.py两个交易用例,这两个脚本各自单独可以运行成功,那要怎么样才能合并到主脚本里去呢?
    直接在主脚本里定义test_a()和test_b()再引入A.py和B.py的内容, 会有各种报错.

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-5 10:04:42 | 显示全部楼层

    不是很懂区块链技术,能请你简单的介绍下吗?同时发展如何?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-6 10:10:44 | 显示全部楼层
    近来领导头脑发热,各种推动自动化测试,还口口声声要强制把核心程序自动化测试覆盖率作为考核指标。然而,又把自动化测试看得太简单,想要在一个月内把以前都用人工测试的程序(量不会太少)全都自动化测起来,不禁让人心累。
    今天不想讨论太具体的用什么工具,想具体讨论一下自动化测试的方式和方法。
    先谈谈我的一点感想,对于纯数据驱动的程序或系统过来说,我觉得都是不可自证的,也就是说,一串数据通过一个程序或系统处理了之后,输出一串程序(无论是写表还是说返回值),这种情况是不可能通过程序或系统自身来去证明输出处理正确的,所以需要额外的系统去反证输出的正确性,从前除于投入成本考虑一般这个额外的系统都由人去替代了(从这角度看,测试人员有点机器人的意思),如果投入够技术高这个额外的系统可以用代码写出来(最好的情况就是完全人工智能,我个人觉得完全人工智能是不可能的,即便是目前的人工智能也只是“假人工智能”),这种就是自动化测试。但前提也说了,是需要投入成本的,在我看来这个投入成本不会少于开发被测试的系统!
    那么问题是这样的,各位高手在实际工作项目中,自动化测试是怎么随着项目管理开展的?另外,各位自动化测试用了什么方法?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-6 10:16:38 | 显示全部楼层
    你好,关于区块链接有几个问题想问下,谢谢。
    1、区块链的发展前景如何?
    2、区块链的安全问题怎么样?
    3、区块链的效率高吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-6 10:22:29 | 显示全部楼层
    想入门,都找不到突破口,应该学习哪些知识,这个技术是由哪些编程语言实现的呢,请不吝赐教?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-6 10:27:25 | 显示全部楼层
    现在有哪些开源的区块链技术?他们有什么联系和区别?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-6 10:34:08 | 显示全部楼层
    大神你好,公司测试部内部成立开发小组,目前做一些测试方面的一些工具,但是工具的需求不那么连贯,一会做一个,也有的时候一段时间都没有需求,领导的意思是让开发小组自己先摸索着走,请问打击测试部内部的开发小组主要职责是什么?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2017-12-15 16:25 , Processed in 0.264792 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2017 Comsenz Inc.

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