51Testing软件测试论坛

标题: 【你来问我来答第88期】:如何做好自动化测试技术和区块链技术?(活动结束) [打印本页]

作者: lsekfe    时间: 2017-12-1 10:54
标题: 【你来问我来答第88期】:如何做好自动化测试技术和区块链技术?(活动结束)
[attach]109526[/attach]
论坛IDcwb007
真实姓名: 程文彬
现任公司: 嘿丫科技
现任职位:创始人
工作经验:
04年入职华为,在华为从事了十年的研发工作,离职前为华为某产品族集成与验证(I&V)部部长。在华为十年,当过测试小兵,做过工具开发,担任测试领域专家,也带过上规模团队;
14年,离开华为,创办嘿丫科技,先后为业界多家知名企业提供业界领先的自动化测试解决方案。
17年3月,和一帮华为离职同事启动区块链项目,负责区块链底层技术平台研发。

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

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


作者: xuquan    时间: 2017-12-1 11:31
果断,第一时间冒泡 。
作者: 本才    时间: 2017-12-1 11:38
向区块链专家学习
作者: yangmengbo    时间: 2017-12-1 14:38
请问现在想接触自动化测试,可以推荐几本相关的书籍吗、谢谢
作者: qq319755730    时间: 2017-12-1 21:28
我在努力中
作者: 姿态    时间: 2017-12-4 11:27
网上我看到项目使用区块链的八个基本条件,那也就是说如果不满足就不能做吗?主要公司里项目牵涉到这块,所以想学习下。希望能够得到你的解答。谢谢!
作者: 小文0111    时间: 2017-12-4 11:31
老师你好,我想问下你们公司平时做区块链底层技术平台研发主要做什么项目,能简单的介绍下吗?
作者: 小浩321    时间: 2017-12-4 11:35
我很早就对"自动化测试"有了概念,它的好处简直太多了:解放人力、避免人为因素干扰、更全面的检查问题...
然而我始终没有学会它。
首先,作为一个开发人员,我索要的不是LoadRunner这样的一个由外部录制作为展开的测试工具,这个工作是测试人员规划的,我既没有精力去录制,也对我们项目需要测试的点缺乏完整理解——我只知道我的模块这里有哪些地方需要测试。
其次,我索要的也不是JUnit该怎么用,那个属于技术问题,通过百度可以解决。
我所面临的困境是:
1.测试数据从哪来?
2.模块代码顺利走通之后如何确保数据的完整性?
3.需求发生细节上的变动的情况下,自动化测试代码如何才能不受干扰的完成使命?

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

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

不知道那些拥有完整自动化测试代码的web项目都是怎么做的?
作者: MilgGtery    时间: 2017-12-4 11:42
你好,如果测试视频网站,需要考虑哪些问题?
同事面试B站被问到怎么测试B站视频,回来聊到这个。发现网上没有关于视频网站测试的介绍。现在视频和直播开始多了起来。想问问大神有没有做过。在这方面有哪些建议?
作者: MilgGtery    时间: 2017-12-4 11:47
你好,求问 IOS 的 UI 自动化测试如何实现?
调研了WebDriveAgent,在IOS10以上系统,真机执行,发现坑很多,遇到测试框架不稳定,执行总终端的问题,求问有没有更好的测试方案?
作者: 八戒你干嘛    时间: 2017-12-5 09: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
本以为电脑问题,更换电脑安装软件后相同代码,结果还是这个,不知问题出在哪里,求解决



作者: 乐哈哈yoyo    时间: 2017-12-5 09:44
自动化工具 关于使用 robot framework 的一个配置问题
项目中使用robot framework做接口自动化测试
目前脚本以及robot 与jenkins的配置都已完成
只是存在一个小问题:
一共有10多个case,运行时,偶尔会存在某个接口案例失败的情况
此时 jenkins会将本次build标注为失败
但是build 本身是成功的,只是某一个case运行失败而已
我在网上查了很多pybot的 参数选项,没有找到解决方法
在此向您请教,有什么参数,或者其他的解决思路吗?
作者: 悠悠小仙仙    时间: 2017-12-5 09:53
求教下大神在自己的公司里目前使用的自动化测试都有哪些?想做个对比,弥补不足之处!

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

作者: 草帽路飞UU    时间: 2017-12-5 10:04

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

作者: 感悟时分    时间: 2017-12-6 10:22
想入门,都找不到突破口,应该学习哪些知识,这个技术是由哪些编程语言实现的呢,请不吝赐教?
作者: 做自己的女王ヽ    时间: 2017-12-6 10:27
现在有哪些开源的区块链技术?他们有什么联系和区别?
作者: 奇犽    时间: 2017-12-6 10:34
大神你好,公司测试部内部成立开发小组,目前做一些测试方面的一些工具,但是工具的需求不那么连贯,一会做一个,也有的时候一段时间都没有需求,领导的意思是让开发小组自己先摸索着走,请问打击测试部内部的开发小组主要职责是什么?
作者: cwb007    时间: 2017-12-7 10:20
小文0111 发表于 2017-12-4 11:31
老师你好,我想问下你们公司平时做区块链底层技术平台研发主要做什么项目,能简单的介绍下吗?

区块链主要有几个特性:①、不可篡改;②所有节点公开全账本;③账户信息持续可追踪;④对等网络,没有上帝角色(什么系统管理员、数据库管理员、公司CEO等)。我们认为区块链会成为未来10年互联应用的一个底层技术,各行各业的各种项目,都可能会找到应用点。就比方说,商品溯源,传统溯源系统采用集中数据存储数据,其实这样的数据对数据库管理员来说/或者对运营公司来说,想怎么修改,就怎么修改,那它的数据可信度有多少?再举个例子,支付宝,马云就是上帝,这个上帝可以让你的支付宝账户瞬间从0变成1000万,只要他愿意。。。一句话,我相信“人之初,性本善”,但是难保不会从善变恶吧?
作者: cwb007    时间: 2017-12-7 10:50
本帖最后由 cwb007 于 2017-12-7 12:45 编辑
小浩321 发表于 2017-12-4 11:35
我很早就对"自动化测试"有了概念,它的好处简直太多了:解放人力、避免人为因素干扰、更全面的检查问题...
...

问题比较多,一个一个回答:
1、自动化测试也好,手动测试也好,只是两种不同的手段。都无关测试数据怎么来的问题。
那么测试数据怎么来?
还是要有资深的测试分析设计人员,根据需求,根据用户场景去设计测试场景、测试用例、测试数据。
如果对测试数据要求已经很明确了,需要的数据量比较大,则可以考虑工具化生成。
这个资深测试分析设计人员,必须掌握系统功能架构,设计指标要求,也要掌握用户场景和需求,还要掌握测试需求分析及用例设计的工程方法,这个才是测试领域真真高端的工作。
2、如何保证数据完整性:资深的测试分析设计人员这个人员很重要,他要对他自己输出负责,自己输出后,还要组织测试团队/设计/开发人员对结果进行评审,根据意见去评估修改。一般来说,能够经得起PK的,也是比较完备了的。
3、功能细节变动,用例需要变动也很正常,不同的工具不同的用例组织方式(很脚本编写方式),肯定工作量是不一样的,一般来说“业务驱动脚本>关键字驱动脚本>数据驱动脚本>共享脚本>结构化脚本>线性脚本”(>表示优于)。

所以,测试代码不可能与业务脱钩(脱钩了还测试什么?),只是考虑如果让测试代码更容易编写和维护刷新的问题。我很认可你的观点“不维护的测试代码等于垃圾”。
其实测试是一个系统化的工程,一个项目如何更容易做好自动化测试:①必须提一些可测试性的需求给项目并确保落地;②测试分析设计才是关键中的关键(要输出测试方案和用例标题的),自动化和手动测试都只是实现测试方案的不同手段;③最好采用每日构建方式进行项目研发,团队要确保每天自动化用例达到90%以上的通过率(测试要优先刷新自动化用例,开发要优先修改自动化发现的重要BUG,老功能都搞不定,新功能就不要开发了);
作者: cwb007    时间: 2017-12-7 10:56
MilgGtery 发表于 2017-12-4 11:42
你好,如果测试视频网站,需要考虑哪些问题?
同事面试B站被问到怎么测试B站视频,回来聊到这个。发现网上 ...

视频网站,我考虑的是两个层次:①把视频去掉,我们该测试什么?②视频又该测试什么?
对于网站,要考虑是动态内容还是静态内容,两种测试方式和方法肯定不一样,具体可以以后细聊,此处不作赘述。
对于视频,是视频网站的关键,视频能不能打开是首要要的问题,其次是否流畅/马赛克/音影同步对体验来说是重要问题;再次,弹幕、评价、收付费等也需要重点测试吧?
我能想到的就这么多。
作者: cwb007    时间: 2017-12-7 10:58
八戒你干嘛 发表于 2017-12-5 09:40
老师你好,我这里有个关于自动化的运行问题请指教?
Selenium python,unittest 测试结果总是 Ran 0 tests ...

应该是脚本没有执行吧?是不是你执行框架的问题?
作者: cwb007    时间: 2017-12-7 11:04
乐哈哈yoyo 发表于 2017-12-5 09:44
自动化工具 关于使用 robot framework 的一个配置问题
项目中使用robot framework做接口自动化测试
目前 ...

jenkins是个不错的工具,可惜我没有具体用过,我简单查了一下资料,应该是脚本的问题。据我了解,jenkins 判断是否失败的标准可能是 shell 脚本的 exit code 是否为0。为0表示成功,否则失败。你按照这个思路去排查一下。
作者: cwb007    时间: 2017-12-7 11:13
yangmengbo 发表于 2017-12-1 14:38
请问现在想接触自动化测试,可以推荐几本相关的书籍吗、谢谢

对于想学习自动化测试技能的,我希望大家不要走入误区,工具都是其次,关键是测试分析和设计的方法和自动化测试理论。说实话,用什么工具,我从来不做硬性要求。如果掌握了测试分析和设计的工程方法,能在自己的项目里使用,再能深入理解脚本分类的几个概念,我觉得你可以自己去选择或者打造最合适的工具了。
作者: cwb007    时间: 2017-12-7 11:18
MilgGtery 发表于 2017-12-4 11:47
你好,求问 IOS 的 UI 自动化测试如何实现?
调研了WebDriveAgent,在IOS10以上系统,真机执行,发现坑很多 ...

测试框架不稳定的话,还真是没有好的办法,因为你依赖它。选用其他框架,或者如果是开源框架你可以修改它的代码自己去把问题解决了。当然,如果你们研发能力足够,也可以采用集成多框架方式。对于终端不稳定问题,最好的一种就是重启终端,将中断的用例再执行一遍。
作者: cwb007    时间: 2017-12-7 11:22
悠悠小仙仙 发表于 2017-12-5 09:53
求教下大神在自己的公司里目前使用的自动化测试都有哪些?想做个对比,弥补不足之处!

你是想问华为内部用了哪些测试工具呢?还是想问题现在的公司?
都回答一下:
华为内部用商业工具/开源工具/自研工具的都有,毕竟那么多类型的产品,8万研发人员,其中测试工程师也有几万人。
当家的这边,我们自己就做了一套web/app的自动化测试系统,当然是用自己的。
作者: cwb007    时间: 2017-12-7 11:25
姿态 发表于 2017-12-4 11:27
网上我看到项目使用区块链的八个基本条件,那也就是说如果不满足就不能做吗?主要公司里项目牵涉到这块,所 ...

之前的回答,没有系统介绍区块链的特性,这里系统说一下(这是别人的总结),你的项目只要觉得很有必要用下面哪怕一点,都是可以的:
(1)第一是去中介化/中心化的信任,这也是反复强调的。
(2)第二个特征是它的稳定性、可靠性、持续性,因为它是一个分布式的网络架构,没有一个中心节点可以被打击或者攻击,所以在整体的技术布置方面有着更强的稳定性、可靠性和持续性。
(3)第三它的强安全、共识机制不需要第三方的进入,而是通过一个技术来达到,先前预定的一个技术来达到整个交易的完成。
(4)第四是交易的公开透明和不可篡改性,今天下面有很多业界的实践者跟大家分享这些特征,所以这是区块链的四个特征。
作者: cwb007    时间: 2017-12-7 11:28
悠悠小仙仙 发表于 2017-12-5 09:57
Appium 为一个项目做自动化的时候,目录结构有什么要注意的吗?
第一次做自动化,没弄明白目录应该是怎样的.
...

两个脚本单个执行成功,串在一起执行失败,肯定是没有做环境初始化了。做一下环境初始化就好。
作者: cwb007    时间: 2017-12-7 11:52
草帽路飞UU 发表于 2017-12-5 10:04
不是很懂区块链技术,能请你简单的介绍下吗?同时发展如何?

区块链技术,我简单讲一下。
第一个概念“链表”:如果你学过数据结构,那肯定知道链表的概念,区块链就是一个链表。
第二个概念,就是hash,理论上认为通过hash运算,一份数据有且只有一个hash值(hash值是一个固定长度的标准串,不同算法生成的位数不一样),而且一个hash值仅对应唯一的一份数据(对这份数据的任何修改,重新hash后,hash值都会变)。
第三个概念:对称加密/非对称加密,对称加密就是加密秘钥,与解密秘钥相同,解密算法是加密算法的逆算法。非对称加密,有两个秘钥组成的秘钥对,一个叫公钥,一个叫私钥,由私钥可以计算出公钥,由公钥无法计算出私钥,私钥加密的数据只有公钥能解密,公钥加密的数据只有私钥能解密。公钥可以发给别人,如果我持有了你的公钥,别人给我发一段加密的声明,结果用你的公钥能够解密,我就知道这段声明是你真实意思的表达(至少是你编写加密的,你私钥只有你持有),这个就叫签名验证。
很有意思的是,这三种技术很早以前各自就出来了,直到2008年一个叫中本聪的网友(确实是日本名,但是是不是日本人不知道),将这三种技术结合,设计了一个数字货币支付解决方案,并开发一段代码开源试运行(对就是比特币),这个技术方案就叫区块链。
首先,每个人都可以生成一个私钥(私钥地址空间比宇宙中的沙子还多,所以只要足够随机离线生成不担心重复),然后由私钥计算公钥(理论上地址空间和私钥是一样的),公钥再经过hash生成钱包地址。这样你钱包里的钱只有你能动,别人都没有私钥。
其次,链表的前一个节点(也就是区块)内容经过hash后,存入下一个节点,这样形成新节点对前序节点内容层层锁定(内容-hash值相互唯一对于),而且这个hash值还必须有多少0的要求(节点内容+一个特定随机数,挖矿就是找到这个随机数,来计算hash),这样这条链就具有防篡改的特性了。
再次,每个一个节点,都只认可hash符合要求,最早生成的区块组成的最长链,这个就是分布式共识机制;
以上就是区块链技术关键内容。
业界一致认为,会成为未来20年的关键底层技术。
作者: cwb007    时间: 2017-12-7 12:27
一纸荒年 发表于 2017-12-6 10:10
近来领导头脑发热,各种推动自动化测试,还口口声声要强制把核心程序自动化测试覆盖率作为考核指标。然而, ...

在完备测试情况下,我认可你“成本不会少宇开发被测系统”的观点。其实也就国内不重视测试,要是做完备测试可能投入到测试工作的综合工时,比开发综合工时还多。
项目自动化测试现在一般都采取每日构建测试方式,至少也要每周,再长基本上没有持续成功的项目。
我们还是要认识到,自动化不是万能的,有些测试更适合人工,不要为自动化而自动化,反而影响自动化的效果。分析识别很重要。
作者: cwb007    时间: 2017-12-7 12:31
My_JIE 发表于 2017-12-6 10:16
你好,关于区块链接有几个问题想问下,谢谢。
1、区块链的发展前景如何?
2、区块链的安全问题怎么样?

1、区块链的发展前景如何?
     业界有比较一致的看法,会成为未来10~20年的关键底层技术。
     在各行业都可能会有很好的应用。
2、区块链的安全问题怎么样?
     比中心化系统安全得多,目前看,内鬼和外鬼都没有攻击成功案例。
3、区块链的效率高吗?
    效率肯定比不上中心化系统,因为有一个决策中心,其他必须信任决策中心。区块链要在对等网络中形成共识的,效率肯定比不上中心化系统。
作者: cwb007    时间: 2017-12-7 12:37
感悟时分 发表于 2017-12-6 10:22
想入门,都找不到突破口,应该学习哪些知识,这个技术是由哪些编程语言实现的呢,请不吝赐教?

你是指区块链嘛?还是自动化?

其实,这两种技术和语言无关。
比特币,最早的代码是C/C++。说实话,你若理解原理和协议,完全可以用其他语言写一个,然后接入现在的比特别网络(实际上就是有人实现了其他语言的)。
以太坊,节点版本有C/C++,有go语言。

对于自动化,一样的。

现在的项目,一般都是开源的(区块链代码都是可以下载到的,自动化也有很多开源项目),不妨先学习理论原理,然后探索接口调用,接下来深入学习代码。根据你的需要,可以学到某一个阶段。
作者: cwb007    时间: 2017-12-7 12:39
做自己的女王ヽ 发表于 2017-12-6 10:27
现在有哪些开源的区块链技术?他们有什么联系和区别?

比特币,以太坊、瑞波链、量子链...都是开源项目,都可以下载到代码。

比特币是首个区块链项目,以太坊提供出了在区块链上增加虚拟机(可以执行智能合约)的概念,想学习,学习这两个就好

作者: cwb007    时间: 2017-12-7 12:43
奇犽 发表于 2017-12-6 10:34
大神你好,公司测试部内部成立开发小组,目前做一些测试方面的一些工具,但是工具的需求不那么连贯,一会做 ...

你们公司投入挺大呀,测试部还有开发小组。我当时也就只能调拨1~2个人做一些工具开发,工作量再多的,只能求助开发团队了。

测试的开发小组,自然要做测试工作所需工具的开发了,但是这个要求测试主管/测试系统工程师要能做好测试工具的规划和设计,要求挺高的。否则,一会做这个,一会做那个,没有连续性。
作者: applepen    时间: 2017-12-8 16:07
自动化测试想要做到无人值守。
但是我们测试的软件由于场景过于复杂所以实现起来很困难。
请问大神之前做过的项目中遇到类似的问题该如何应对?
作者: cwb007    时间: 2017-12-11 09:43
本帖最后由 cwb007 于 2017-12-11 11:24 编辑
applepen 发表于 2017-12-8 16:07
自动化测试想要做到无人值守。
但是我们测试的软件由于场景过于复杂所以实现起来很困难。
请问大神之前做 ...

自动化测试当然要努力做到无人值守,否则那个人会无聊死。
场景复杂的,首先要做的是场景分解:①哪些场景是不可打断的;②哪些是依赖某些特别数据的;③哪些是可独立操作,不依赖其他的。对于不可打断的,那就要放到一个用例脚本里。对于依赖别的数据的,那要提前准备好数据,在执行用例前通过某种方法导入就好。独立不依赖的,也是独立用例。

通过以上措施后,如果还有复杂场景,我建议人工测试,不必追求完全的自动化,我从来不让团队追求完全的自动化。
作者: lsekfe    时间: 2017-12-11 15:08
本次专家负责凉快领域的测试知识,大家积极参与哦!
作者: 一纸荒年    时间: 2017-12-12 10:30
cwb007 发表于 2017-12-7 12:27
在完备测试情况下,我认可你“成本不会少宇开发被测系统”的观点。其实也就国内不重视测试,要是做完备测 ...

感谢你的指点,谢谢!
作者: 橙子0012    时间: 2017-12-12 11:12
分布式自动化测试框架搭建思路求指导。
目前项目组中同时有web 应用和移动应用存在,目前对这两块的自动化测试是分开维护的: web 采用 Python+ selenium, 移动应用采用 Python+ appium。
鉴于目前产品功能日益稳定,相关的自动化测试框架也需要进一步的扩展,目前的思路比较混乱,求大神帮助。
作者: 恭喜发财dife    时间: 2017-12-12 11:19
电子商务网站,现在公司想做自动化测试,测试没有这方面的经验。有自动化测试的同行,有没有好的建议
作者: always_fly    时间: 2017-12-12 11:22
为什么现在占主导的还是UI自动化,分层测试效果好,为什么实践的人少,甚至有抵触呢?是否有更好的解决方案呢?希望大牛能指点迷津?
作者: 听海——sky    时间: 2017-12-12 11:25
Robotium 自动化测试  手工用例 和 自动化用例的关系?请大神指导?
作者: 海鸥一飞    时间: 2017-12-12 11:27
自动化最擅长做重复的工作,随着技术的发展,我们不但能把简单的步骤自动化,复杂的场景也可以支持的越来越好。
自动化虽然不是银弹,但如果用的好,能够极大的提高生产效率,保证用户越来越苛求的产品质量。从长远看来应该是最有前途的方向。
相应的,对性能测试而言,随着手机或机器硬件性能的不断提高,或者如果研发团队足够重视质量,开发者或者开发工具就可以在前期解决大部分的性能问题,测试变成了很小的一部分。
安全测试也是类似的问题,可以以互联网的发展为参考,一旦移动平台发展足够成熟,安全问题就能解决大部分,剩下的安全保护部分变成了非常专业的事情。
以上都是基于长远发展的考虑,希望看下大神的想法?谢谢!
作者: 一月蔷薇_456    时间: 2017-12-12 11:30
在我实施移动应用自动化测试的过程当中,我思考最多的倒不是技术实现上面的问题,而是:
面对迭代周期短的应用,自动化的开发维护成本实在太高,那是否有必要做自动化?
UI的自动化的产出是很少的,发现不了什么问题,是否有必要自动化? 我始终在思考UI自动化的意义,UI自动化产生的价值有多少? 我目前的想法是前端UI和功能的测试全部手工执行,接口的测试实行自动化 对于上面的2个问题,期望大神来释疑,谢谢!
作者: cwb007    时间: 2017-12-13 09:18
橙子0012 发表于 2017-12-12 11:12
分布式自动化测试框架搭建思路求指导。
目前项目组中同时有web 应用和移动应用存在,目前对这两块的自动化 ...

首先,其实你只需要一个运行框架,能将两部分用例统一控制运行就好,产品已经日益稳定,用例不会大变。如果再花很大精力做两个集成我觉得可能不太值当,除非还持续有新的产品要用。建议是基于 Jenkins 来实现的轻量化自动化测试运行框架。
作者: cwb007    时间: 2017-12-13 09:19
恭喜发财dife 发表于 2017-12-12 11:19
电子商务网站,现在公司想做自动化测试,测试没有这方面的经验。有自动化测试的同行,有没有好的建议

如果没有任何经验的,建议找一个带有录制功能工具使用。如果觉得录制太简单,可以试用用一下www.mvtest.cn
作者: cwb007    时间: 2017-12-13 09:29
always_fly 发表于 2017-12-12 11:22
为什么现在占主导的还是UI自动化,分层测试效果好,为什么实践的人少,甚至有抵触呢?是否有更好的解决方案 ...

①UI是所有人都能看得到的,成功/失败直接可见,成就感足;
②UI测试,一个用例是从端->服务的全流程测试,分层用例一般一个用例要么对应后台接口,没有覆盖UI,还得补充测试;

我也认为,自动化落地得比较特别好的,一定是UI+后台服务接口的综合自动化测试。因为UI自动化测试执行效率还是低,而接口自动化测试效率会提升很多。但是,难度也更大:①需要产品在设计阶段就考虑落地一些可测试性需求(让自动化更容易做的需求);②接口自动化用例开发,如果找不到合适的工具,测试人员必须掌握编码技能。

作者: cwb007    时间: 2017-12-13 09:37
听海——sky 发表于 2017-12-12 11:25
Robotium 自动化测试  手工用例 和 自动化用例的关系?请大神指导?

①Robotium是一个具体的自动化测试工具,我从来不说某某工具自动化测试,而是说某某产品的自动化测试需要某一款工具/更适合使用某一款工具。
②用例集=手工用例集+自动化用例集,等式右边是此消彼长的关系,但是强调一点,就目前的测试行业的自动化水平来说,完全替代手工是不现实的。
作者: cwb007    时间: 2017-12-13 09:57
海鸥一飞 发表于 2017-12-12 11:27
自动化最擅长做重复的工作,随着技术的发展,我们不但能把简单的步骤自动化,复杂的场景也可以支持的越来越 ...

你说的观点,部分我认可的:①技术在进步,以前不能做的自动化测试的场景,现在能做了,这个我认可;②自动化只是一种手段,用好当然能极大提高生产效率;③性能测试变成很小一部分,我不敢苟同,其实性能测试需要测试的内容太多了,这一点我是深有体会(我在华为亲自做个多个产品的性能测试,某个产品光输出的性能测试设计方案文档就有三四十页)。④安全测试也一样,华为曾经也不重视软件系统安全特性,后来华为用近三年时间在全公司推动各个产品落地安全红线(包括需求、设计、开发、测试的内容)。
其实我的观点是:①产品质量是设计出来;②出口质量要求越严格,测试投入越大;
作者: cwb007    时间: 2017-12-13 10:02
一月蔷薇_456 发表于 2017-12-12 11:30
在我实施移动应用自动化测试的过程当中,我思考最多的倒不是技术实现上面的问题,而是:
面对迭代周期短的 ...

①UI自动化有其意义(有意义就值得考虑,维护成本高的问题,那如果能找到维护成本低的工具呢?),当然根据各个项目具体情况,可以选择做或不做。
②重视接口自动化是OK的。
给两条建议:①不要为了自动化而自动化;②自动化不是万能的;

作者: 本才    时间: 2017-12-14 13:04
cwb007 发表于 2017-12-7 10:20
区块链主要有几个特性:①、不可篡改;②所有节点公开全账本;③账户信息持续可追踪;④对等网络,没有上 ...

如果要测试区块链项目,要从哪几点着手?
作者: cwb007    时间: 2017-12-15 09:20
本才 发表于 2017-12-14 13:04
如果要测试区块链项目,要从哪几点着手?

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

区块链项目重点测试如下内容:①转账,向单/多签名地址转账,向脚本转账;②如果对币的机制有修改,双花攻击测试;③智能合约功能及安全测试;④打包及交易确认效率。
其实,任何软件的测试,都是可以基于“输入-输出-行为”模型(又叫IBO模型)来做测试分析和设计。
作者: 本才    时间: 2017-12-15 09:36
cwb007 发表于 2017-12-15 09:20
1、要首先掌握密码学的基本知识(例如对称加密、非对称加密、数字签名的原理);
2、理解数据结构中的链 ...

智能合约功能的测试是侧重智能度,还是侧重合约?
作者: cwb007    时间: 2017-12-15 11:20
本才 发表于 2017-12-15 09:36
智能合约功能的测试是侧重智能度,还是侧重合约?

所谓智能合约只是区块链虚拟机运行的一段不太复杂的程序,一段程序的测试该关注什么,其实不用特别去讲吧?
作者: sdm_0915    时间: 2017-12-18 15:16
http://bbs.51testing.com/thread-1040289-1-1.html,扫描式自动化测试,无测试脚本,只要运行一个程序,就可以进行测试,欢迎交流讨论
作者: cwb007    时间: 2017-12-20 09:57
前面回答问题,提出了自动化脚本分类的概念,给大家补充点材料。


作者: 司格特    时间: 2017-12-21 10:47
cwb007 发表于 2017-12-20 09:57
前面回答问题,提出了自动化脚本分类的概念,给大家补充点材料。

你好,看了一些你回复的帖子对于区块链技术有了一个初步的认识,貌似这个技术在金融领域涉及的比较多,其他行业的介绍看的的内容很少,我不知道这个技术适不适合其他领域,毕竟他的安全方面看起来很不错。期待你的回复!谢谢!
作者: 司格特    时间: 2017-12-21 10:48
cwb007 发表于 2017-12-20 09:57
前面回答问题,提出了自动化脚本分类的概念,给大家补充点材料。

还有个问题希望您能回复下,这个技术的开源工具有哪些,请指教!
作者: 太鼓达人    时间: 2017-12-21 11:27
使用 selenium 做自动化过程中遇到的一个元素文字展示的问题,请您指教下?

[attach]109750[/attach]

使用xpath
.//*[[color=#069d6 !important]@id
='mainRight']//button[text()='+ 合作伙伴']

去定位元素的时候定位不到
当即终止脚本运行

F12,发现在源码显示中显示为两行
“+
合作伙伴

我记得我前面也遇到过这个问题
始终不明白为什么会这样!



作者: cwb007    时间: 2017-12-21 16:54
司格特 发表于 2017-12-21 10:47
你好,看了一些你回复的帖子对于区块链技术有了一个初步的认识,貌似这个技术在金融领域涉及的比较多,其 ...

在金融科技(Fintech)这块提得比较多而已,因为金融这块信任问题比较严重(美国次债危机爆发的原因是次级债券这个金融产品底层资产包不健康导致的,但是底层资产对于次债持有者又是不可见的),所以业界觉得区块链这样的信任机制在金融这块会有很好的应用。我们要理解金融资产都要有底层实物资产支撑的,没有实物资产支撑就没有金融(全球金融产业发达的,要么是物流航运中心,要么是依托于股票/期货交易所,大家有想过为什么吗?),所以金融科技要想很好地应用,实物资产必须要上链。实物资产上链就涉及到各行各业了,比方说企业内部办公资产管理、企业产品溯源、商品流通(物流)跟踪....这些资产(还有数据资产)都在区块链上进行管理后,然后就可以进一步衍生出基于区块链的金融交易。其实,区块链是一个技术解决方案,未来会成为一个底层技术,各行各业都可以用。
作者: cwb007    时间: 2017-12-21 16:57
本帖最后由 cwb007 于 2017-12-21 17:10 编辑
司格特 发表于 2017-12-21 10:48
还有个问题希望您能回复下,这个技术的开源工具有哪些,请指教!

数据驱动/关键字驱动工具很多,qtp/rft/lr/selenium用得好基本都可以归为数据驱动/关键字驱动工具,但是这些工具想要变成业务驱动工具,那就困难了
作者: cwb007    时间: 2017-12-21 17:04
太鼓达人 发表于 2017-12-21 11:27
使用 selenium 做自动化过程中遇到的一个元素文字展示的问题,请您指教下?使用xpath
.//*[@id[/backcolor ...

这个问题很好解决,xpath等式改为包含关系就好   [contains( text()],“合作伙伴”)]
作者: cclovely    时间: 2017-12-25 17:50
666
作者: hmduser    时间: 2018-1-9 11:46
八戒你干嘛 发表于 2017-12-5 09:40
老师你好,我这里有个关于自动化的运行问题请指教?
Selenium python,unittest 测试结果总是 Ran 0 tests ...

deriver = unittest.defaultTestLoader.discover(test_dir,pattern="tset*.py")

代码敲错了吧?tset*.py应该是test*.py,unittest框架是需要特定开头的测试case,匹配不到自然不会运行
作者: zyqzyqaa    时间: 2018-5-2 16:43
司格特 发表于 2017-12-21 10:48
还有个问题希望您能回复下,这个技术的开源工具有哪些,请指教!

我也想知道 +1
作者: sunmin415    时间: 2019-2-12 16:40
谢谢分享




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