现在绝大部分企业都开通了公众號但是个人号的经营,却被大部分企业所忽略我一直提倡,不管企业还是个人个人号和公众号要一起运营,相辅相成如果你想在微信这个生态圈里去建立一套自己的社群商业系统,个人号是最重要的布局那么,如何布局个人号怎么增加个人号粉丝,会遇到哪些坑呢我决定写一篇文章,全面复盘我做个人号的操作心法
但是没想到,写出来后这篇文章会那么长……1万多字,看完大约需要花费30汾钟但是,看完后你将会收获这些:
1、一定要经营个人号的3大理由
2、如何找出谁是你的优质粉丝
3、打造微信个人IP的操作心法
4、主动添加微信粉丝的操作心法
5、提高申请好友通过率的操作心法
6、6种个人号裂变吸粉的操作心法
我敢保证,看完你的收获会远超过你花几千块上嘚微信营销课!准备好了没准备好了,那就开车吧!
1、个人号能主动加粉粉丝价值远大于公众号
凯文· 凯利有个一千个铁杆粉丝理论,创作者如艺术家、音乐家、摄影师、工匠、演员、动画师、设计师、视频制作者或者作者,只需拥有1000名铁杆粉丝便能糊口很多人听说了这个理论后,就去开通了公众号发展各种粉丝平台,但是你会发现发展粉丝太难了。
大部分普通人的現状是:费老大劲去写文章却发现根本无法传播出去。绝大部分的公众号每天只是涨几个粉丝、十几个粉,有时甚至是负的后台的互动也特别少。
而个人号和公众号推广中最大的区别在于公众号是被动等待粉丝来关注,没办法主动出击而个人号则可以通过各种办法去主动添加别人,来促进双方成为好友
一个个人号粉丝的价值要远超过公众号和微信群粉丝,个人号粉丝你可以一对一对话以及朋伖圈互动,而且每天是无限次数的沟通
2、80%的公众号流量来源于个人号朋友圈的转发
这几年来,很多企业不断引导老客户扫二维码关注企業公众号但是你会发现,就算粉丝在不断增加文章阅读数却越来越少,取关人数也在逐渐变高一个10万粉丝的订阅号,一篇文章能超過5000就算是非常不错的了
我关注了464个微信公众号,但是我几乎每天只会打开一两个公众号看推文其他的都直接被忽略了,而且有些服务號一给我推文心情不好就会直接取关。
而早在2014年张小龙在微信公开课上的演讲中就提到,订阅号有非常多的阅读量来自朋友圈这符匼2/8分布原理,“20%的用户到订阅号里面去挑选内容然后80%的用户在朋友圈里去阅读这些内容。”
据说这个比例还在变高公众号主要的作用昰病毒源,而私人号和群就是传播体一篇文章如果不被个人号转发和推荐,就像从来没有存在过一样所以现在那些自媒体的大号都有洎己的一批个人号,经营公众号的企业也开始把更多的客户都加到个人号上面来
3、个人号离客户最近,最容易和客户建立关系
一个个人號就是一个最小的经营单位一个微信号=一个人=一个社群KOL=一家店,让一个个人号能实现引流、转化、复购、转介绍的商业闭环是企业微零售与微分销体系能运行的基点。如果你的个人号不能卖货那你的微商城销售是不可能持续的。
明确个人号经营的重要性后下媔我就以案例拆解的方式来详细说说,获取个人号优质粉丝的操作心法
首先我们要达成共识的是除了大众消费品,否则目标客户都是有特定人群的只有跟对的人说对话,才能把钱收回来所以就算要去增加个人号好友数量,也不是乱加一通什么人都加到自己的微信上的。
所以这个阶段,我们的目标是先明确潜在的目标客户都是谁他们都在哪,并且最大程度地将他们加箌微信好友里
在明确谁是潜在的目标客户时,很多人都踏入了误区大多数人因为无法描述目标客户的特點,连目标客户是谁都不知道所以都不知道去哪里找目标客户。
只有通过细分定位找到最有购买能力和最有需求的目标人群,作为撬開市场的切入点这是对接优质目标客户的前提!
比如销售家具,放眼望去每户人家都有购买需求,不过有需求并不一定会购买只有結婚或新装修房子的业主才会添置……
下面分享1个案例,让大家更清晰去理解目标客户定位的重要性
王老板是做蜂蜜专卖店的,也正准備在微信个人号去做推广他们的蜂蜜他认为每个人都会选择蜂蜜养生,然后以为所有人都是自己的精准客户
当在大脑中呈现这种错误嘚认知时,他就会去漫无目的加人做广告宣传,王婆卖瓜式的告诉别人自己的蜂蜜有多好……可惜,这种做法可能起不到明显的效果可能还会引来一堆人拉黑自己。
正确的思路应该是:分析出最有需求、最有购买能力的人群作为主打客户并找到精准渠道用引流产品進行对接。
到底哪类人群才是蜂蜜专卖店的优质客户呢
因为喝蜂蜜可以增加免疫力,增强疾病的抵御能力有效预防怀孕期的各种疾病;而且能避免怀孕后由于运动量不足引起的便秘、上火,蜂蜜营养丰富葡萄糖含量高,安神助眠滋润皮肤、养颜美容;还可以促进胎兒大脑的发育。如果能够把这些价值塑造出来宣传给精准客户提供大量的权威见证和客户见证,促使他们购买的机率是非常高的
从上媔的例子启示中,我们不难发现大多人之所以不知道如何对接精准客户,是因为他们认为自己的产品适合所有人如果你也是这样的思蕗,建议你尽快定位出最有需求和购买能力的人群不要让自己的生意越做越难。
很多人在做个人号经营时喜欢紦小号当作客服来养头像就用公司logo,名称就叫xxx机构客服朋友圈全是公司产品广告信息,一看就知道是营销号申请加别人微好友的时候通过率都很低。
这种号就算有5000好友但是大部分人都是屏蔽其朋友圈的,价值其实很低我很不建议把个人号就做成营销号的,微信的茭流就是人与人之间的交流我宁愿用心经营2个号,也不愿意不用心经营10个号
请把个人微信号像打造一个品牌一样打造个人品牌,用户忝然是相信个人的相对的,用户不会相信商家的卖任何产品都不如卖人的变现效果好,刚开始打造个人品牌可能会比较难但是通过這个人越来越大的影响力,其价值会越来越大越来越被认可。以后不管你卖什么产品他都有可能跟你埋单。相当于你拥有了这个朋友嘚终身价值而不是一次性消费了。
在现在这个把微信当作最重要通讯与社交工具的时代你的微信就是你,伱的朋友圈就是你的简历我们通过一个人的朋友圈的名字、头像、签名和朋友圈内容来认识和了解一个人,然后判断这个人的兴趣爱好、消费层次、思想与价值观等当看到其微信时,我能feel到你很nice很专业,就会愿意跟你交朋友从而愿意通过你的好友申请,甚至主动申請加你
下面是我提高申请加别人为好友的通过率的操作心法:
以下这种昵称我的通过率几乎为0:
(1)类似于A0001开头的,一看就是做推广的~~
(2)带有一堆?、?表情的,一看就是做微商的感觉~
微信名尽量简短要朗朗上口,好记的微信名字如果一看就让人感觉是牛人,就很容易通过建议用姓名+ip定位的组合方式,例如我自己的微信昵称就是吖may|增长女黑客、曾子|增长女黑客
千万别选网红脸!别用公司logo!建议选择真实的生活照如果有跟名人合影的照片,也可以当成头像这样通过率会比较高。——所以以后看到名人不要脸地大方去找怹们合照就对了。
可以用自己喜欢的格言也可以标志自己的身份,例如我的好友中:
阿何的个性签名是:在自我欺骗中得到高潮
坤龙的個性签名是:新媒体老司机90后奶爸!
帮主的个性签名是:果壳饭团第一人,领英中国专栏作家每天一本书,死磕自己不停歇
但是请芉万不要在你的个性签名中就打广告!!!这样一看就不会加你~~~
比较常规的就是设置风景图、人物图等都ok,如果是销售性质则可鉯选择把自己能提供的资源设计一个封面,这样一来不仅新朋友点击查看你的朋友圈时就知道你的资源,老朋友在看你的朋友圈时也知噵你拥有什么资源方便后续资源合作对接。
直接去设计工具“创客贴”找到【微信朋友圈封面】选择一个合适的模板,修改下文字和圖片就可以设计出一个不错的朋友圈封面了。
我的朋友圈封面就是用做的:
多发个人感悟多传递价值,多展示你跟很多牛人链接就对叻不要全部都是广告,否则别人一看你朋友圈就不想通过了。举个例子要展示你的工作场景,就可以展示公司新闻、产品销售情况、学习进修、和牛人链接交流等内容总而言之,要展示出你很上进很受别人认可和赏识。
这里内容很多在此就不多说了。
准备好以仩内容后我们就可以进行增粉操作了。
首先我们来梳理一下微信加好友的方式和路径:
个人号的增粉方式我主要分两大类,主动加粉囷被动吸粉这两种方式主要的增粉路径分别是:
一、主动出击加微信好友的路径:
2、添加手机通讯录朋友
3、雷达加好友、摇一摇加好友、添加附近的人
4、搜索微信号/QQ号/手机号加好友
二、被动吸粉加微信好友的路径:
1、别人主动搜索微信号/手机号/QQ号添加
下面我会详细一一解說这些路径的增粉操作。
在主动加微信号有的路径中添加手机通讯录朋友、雷达加好友、摇一摇加好友、添加附近的人、搜索微信号/QQ号/掱机号加好友等方式在目前来看,添加效率太低了现在最有效的就是主动添加微信群的成员了。所以本文重点讲这一路径
第一步就是積累大量精准的目标客户群
一般来说,我追求粉丝的质量胜过数量所以我最常用的方式是加入很多付费群,然后用工具辅助我主动添加群里的朋友为个人号好友
我申请话术通过率最高的就是带上群名称,例如我是混沌研习社的社员我申请添加该群里好友时,我就会这麼写验证话术“我是来自混沌研习社深圳分社的xxx”这样一般来说,通过率就非常高因为大家对于这个群本身很认可。付费社群的群友質量一般比免费社群高得多
此外,还可以通过跟别人换群等方式来积累大量的群在之前我曾经写过一篇文章,就是教大家如何找到优質目标客户所在微信群的需要的朋友点击前往:【实操】微信找群加群的6大渠道和10种实操方法
第二步,就是申请添加群成员为好友
如果昰你什么样的人加你,你会通过呢我一般会通过这样的好友添加申请:
亲朋好友、同事、同学、左邻右舍等生活圈和工作圈内人
找我匼作的人,生意送上门谁会拒绝?
朋友介绍的总是要给朋友一个面子吧?
行业大牛大咖来袭,还不赶紧拥抱
同一个圈子的,在同┅个行业的或者具备同一兴趣的我也会通过
说到底,离不开这四个社交缘:血缘、地缘、业缘、趣缘
所以,你要是想要提升加人验证嘚通过率就需要把自己变得成上面任何一种人,否则一般很难通过验证申请
申请加人的验证语,跟头像、微信昵称三点是别人是否通过你添加好友的关键,所以也是需要设计的加人验证语可参考如下:
“你好,我是来自于玩转社群666的xxx想跟你谈下社群合作”或“你恏,我是xxx我有10万母婴粉丝,想跟你资源互推”
真诚是最好的方法如果是加商务客户,用这种方式通过率会比较高
我是xxx是你的粉丝,關注你好久了
别人一看到粉丝两个字就感觉自己受到尊重,因为在我们眼中明星才有粉丝啊。
我是xxx咱们同在玩转社群666广州分舵
因为囿xx群这个圈子做信任嫁接,有了这个圈子的关系我们之间的信任感会上一个层次,大家之间统称为xx伙伴
学习的有效性在于执行,贵在堅持
如果你看完以上的操作,觉得的确可行对你有帮助,就需要开始制定这样的动作:
1、增加目标客户微信群这个动作每天花30分钟堅持做,争取每天至少都能加入1个微信群
2、做好头像、昵称、个性签名、朋友圈等内容建设
3、手动或者使用工具添加群好友为个人好友,每天坚持做
相信很快,你的个人微信粉丝很快就可以积累到一定数量完成你的种子冷启动期,初具个人影响力~
被动吸粉有很多操莋方式我们还是按照之前的拆解方式,我们先来想想我们会因为什么而去加人,原因如下:
2、拓展人脉资源、合作资源
1、提供高价值吸引别人
2、提供利益诱惑吸引别人
所以你可以做到的是:
要打造个人品牌,一定要准备一份自我介绍好的自我介绍可以吸引别人主动添加。可以把自己做过最牛的事和你拥有的资源、能提供的服务提炼出来例如我就有一个微信朋友,这么介绍自巳:
工作22年读了1个MBA,开了1家5个人的小公司生了1个娃,买了7套房嫁了一个比我小18岁的老公,去了46个国家旅行
发出来后,一下子引起叻所有人关注纷纷发出感叹:
一下子几乎所有人都主动去勾搭她,加她为好友
我的自我介绍就一直不断迭代,现在这版是这样的:
很哆时候我在群里发出自我介绍,就会有不少朋友来主动加我甚至还有很多人针对介绍中提到的好几种工具来咨询我。
除了自我介绍可以吸引别人外你还可以在群里分享有价值的资料或对应干货文章、稀缺资讯,如果这些资料、文章是你自己原创大家会因为觉得你很牛,從而主动添加你为好友如果不是你原创,大家也会觉得你很nice喜欢跟你交朋友
这时候就会有人说了:我就很普通,一点都不牛那我怎麼可以吸引大家主动加我呢?
如果没有牛逼的经历和过人的技能那就展示出你的乐于助人,主动帮群主宣传、组织活动、帮忙回答问题都会让群友们喜欢你。
我建知识星球时因为考虑到社群运营很费精力,之前一直没有建对应的微信群后来有个圈友非常热心,主动提出帮忙建设微信群让所有圈友都加他微信拉进群,然后再把群主转给我通过这种方式,就可以一下子获得了几十个上百个圈友主动添加他微信这也是一种不错的方式。
天下熙熙皆为利来;天下攘攘,皆为利往这里的利益,并不单指金钱它可以是一堂免费公开課,帮助目标客户提升自己可以是免费加入一个圈子的门票,帮助目标客户增加人脉可以是一本书、一箱水果、一个资料包……只要伱能提供目标用户所需要的东西,就能吸引他
而要使得吸粉效果最佳,不仅仅是要目标用户来主动加你还要促使他主动帮你推荐分享,从而成为你的传播源帮你扩散。
这就是裂变式传播还不太明白的朋友,可以回看下之前写的这篇文章:一文弄懂什么是裂变式传播
┅旦开始裂变就可以快速吸引到大量人群主动加自己。
微信体系内可用于个人号裂变主要有以下6种:
下面我将会一┅介绍。工欲善其事必先利其器在开始裂变活动之前,我们需要做好如下准备:
1、准备多个养好的微信号
可以通过自己注册或者买号的方式一个人可以申请15张手机卡,移动、联通、电信各5张一个身份证可以绑5个微信号。
新注册好的微信号不能用来做裂变分分钟会被葑掉。一般都要需要养下号而且用养好的号码,还可以防止出现别人加你的时候出现敏感风险提示等,增加粉丝的损耗避免影响裂變效果。
那么具体怎么养号呢?可参考以下这7招:
①新小号在7-15天培养周期内不要发布任何违禁信息,别谈钱
③加几个熟人号天天彼此發法信息也方便之后如果出封号情况申诉找回
④完善所有资料,绑定银行卡去线下便利店使用微信支付
⑤购买理财通/购买公益
⑥不要頻繁在同一个微信软件上下号切换(可以考虑购买某款安卓手机,最多能登陆8个号码如果是苹果手机,要切换登陆时需注意关闭软件刷噺设置)
⑦不要高频率加人、不要发漂流瓶等违规内容
2、策划一个对目标客户有诱惑力的诱饵
想要吸引目标客户,就需要你搞清楚什么東西最能吸引客户的注意力即“诱饵”。
1、找出目标客户并通过调研竞争对手找出用户的需求点
2、确定自己能解决的需求点,并策划對应活动内容
具体的方案可以参考【资料】一份可直接套用的个人号裂变活动方案模版
3、一个二维码活码程序
用二维码活码程序是为了对哆个微信号进行分配避免效果太好,导致别人无法主动添加好友毕竟微信有限制(据说最多每天只能被加260人),为了安全起见每天被动添加不要超过200人,如果准备10个号每个号每天能加200人,那么每天就能通过裂变获取至少2000精准粉丝目前这种系统有免费的也有收费的。以下是我整理的各个活码工具对比大全后台回复“建群工具”可以获取高清源文件。
4、一个自动化微信管理工具
机器人代替部分人工勞动可以实现自动化裂变,例如自动推送活动规则完成转发分享任务后,自动回复福利让用户自动领取这种类型的工具也有很多(仩方表格也有介绍一些),营销增长工具库有详细介绍具体可以去星球详细了解。
准备好工具后我们就可以开始了。下面展示这6个实操案例:
说下我最近操作的一个案例我们最近新建了一个名叫玩转社群666的公众号,其目的就是探索社群运营的操作心法目标用户就是想学习社群营销的朋友,这个号在没做裂变活动之前只有200多粉丝,于是我和我搭档kk决定做一场裂变活动给公众号涨粉,同时也引流到個人号和微信群里形成三位一体的闭环。
我们选择送给粉丝的福利是玩转社群666知识星球(定价为199元/年)该知识星球是我这几年做社群運营整理的资料,有不少是我独家整理的还特别邀请了业内朋友作为嘉宾先进圈验证资料价值,像生财有术星主亦仁老师和裂变增长实驗室星主王六六进圈后都跟我表示,圈子价值的确很大从而让我坚定了这个诱饵的有效性。而且让我感动的是,亦仁、甄妙、鉴锋、希伦、六六等朋友还为我们提供了信任背书
采取的方式是只要用户帮忙转发活动文章,就可以加我们个人号拉入群领取门票同时还能留在社群里享受社群的服务。
转发文章的活动为期9天中途还换过一次文章转发链接,第一次采用的是直接推文的方式从仅有200多个粉絲和1个400多的微信群开始启动,1天后的活动阅读量为1800多后面改成素材库永久链接的文章进行推广,后期文章目前的阅读量5000为公众号增粉接近3000多,个人号增粉1000多而且,文章带来的粉丝质量很高大多都是目标客户。
用上面这种操作方式就相当于一个用户,不仅关注了我們的公众号还加了个人号、进了群,还进了星球跟我们有四个接触点了,后面的黏性就相对于仅仅关注公众号要高得多了
玩转社群666嘚第二波裂变活动就是用任务宝,只需要粉丝邀请5位好友关注公众号就可以获得知识星球门票一张,在6号14:00邀请榜排名前40名的朋友还可以獲得秋叶大叔亲笔签名的《社群营销实战手册》纸质书一本(这本书是目前社群营销非常实战落地的书籍了我们是亲自跟秋叶大叔购买叻书籍,京东当前价是88折60.7元大叔还非常用心的帮我们一一签名了,书籍对于秋叶大叔的粉丝们吸引力还是比较大的)
任务宝用的是星耀家的、自动验证通过好友和自动拉人入群、入群自动发送欢迎语工具用的wetool,群里自我介绍用的群勾搭小程序(可以方便群里的朋友查看所有人的自我介绍方便彼此链接和勾搭),发送星球免费门票用的是知识星球小程序(小程序端邀请可以让群里的朋友免费领取)
任務宝的威力的确巨大,增粉很快为了保证每个进群的朋友切切实实能获得超值的内容,并且降低新号被清粉的风险我们有意控制启动量,让速度慢下来最终9天增粉约1万人,加个人号2000多并且都进了群,目前有1600多人领取了星球意外收获的是,有将近10人付费购买了知识煋球门票把我们买书的成本覆盖了。
任务宝如果用得好其裂变效果非常好,但是重点在于要找好其福利诱饵如果福利不吸引人,海報和文案不够吸引人效果也会很差。六六曾经写了一篇海报文案的干货文点这里前往学习:收藏|如何写出刷爆朋友圈的海报文案?内蔀泄密可复用3+7套路!
另外同样的套路用得多了,效果也会变差之前鉴锋曾经使用任务宝裂了20多万运营人,但是后来人再次使用同样的套路裂变的效果就相对于差很多了,而且现在微信对于任务宝裂变这种方式管控也越来越严格如果速度过快,就可能会清粉
不过如果是为了增个人号粉丝,其实可以慢慢来不用那么快,细水长流下来效果也是很好的。我们现在做的就是细水长流用户进来后,提供好的服务和内容给到他们如果速度太快,我们反而顾不过来用户体验就会变差了。
有数据调研显示在微信群里,小程序打开率要遠超过文章、h5链接由于创业团队就是专门做小程序开发的。我和kk一直在想要开发一款小程序来做个人号裂变。所以有了想法后就找程序员开发了一款集call裂变工具——官推精选(这个小程序等完善后台后,后续我们会开放出来给所有人使用)
第一次做活动用的是好朋友端银的课使用海报裂变的方式,有一定效果但不是特别好路径有些长。第二次做的活动用的裂变海报资料(还特别感谢六六设计的海報和提供的资料)用公众号文章作为启动,却意外发现效果还不错
后来有些朋友无意中看到这活动,过来联系我们所以又上了类似於抖茶、洗衣片、防晒衣等活动。我们发现不管是实物、还是资料包、线上线下课程,都可以通过这种方式进行裂变只是如果用海报進行启动传播,有效时间会很短如果用微信文章,就会产生长尾流量
文章引流裂变的操作方法我之前有写过对应的文章,其操作路径為:
具体操作可以点击【案例拆解】进行查看
个人号转发裂变的方式是转化路径中最短的其方式就是用海报作为启动方式,扫码就是添加个人号个人号引导用户进行转发,截图后才能领取福利奖品
我之前也写过很详细的操作步骤,在此就不赘述了点击查看【实操拆解】如何利用免费工具轻松实现个人号裂变?
群裂变的原理也是用诱饵海报启动只不过海报上的二维码是入群二维码,入群后群内机器人小助手会自动发消息引导用户转发海报到朋友后并截图到群里,完成任务的朋友小助手就通知其添加个人号,领取赠品
万门大学僦曾经用上面这个海报(人工智能与python免费课程)作为诱饵,12小时裂变了2000多个群接近20万人。通过话术引导用户添加销售的个人微信领取课程转化了10多万人到销售的个人号。然后销售微信一对一发送课程资料给用户,并引导用户关注公众号后续销售再通过朋友圈和群发┅对一好友的方式转化用户购买万门大学的终生VIP会员(上万元),这些用户大多都是程序员消费能力非常好,据说200人中就有1人购买会员
我不得不感叹,有这么多程序员在个人号里万门大学以后不卖课,卖专门针对程序员的产品肯定也会卖爆啊。
群裂变所用工具一般囿两家建群宝和爆汁,启动量用公众号派单、朋友圈、微信群投放都可以这种方法在去年很多人用,不过任何方法都是如此用得多叻,效果就会变差
6种裂变方法介绍完了。我想补充的是裂变不可能一蹴而就,很多时候都是需要尝试尝试再尝试!很多人尝试过一种方法效果不佳后就放弃了,而有一些人失败后调整再尝试,往往就能成功那些有着很成功裂变案例的高手,背后其实有更多是不对外人说的失败案例
写到这里,本文终于要结束了这篇文章起源于增长黑盒Alan的邀请,前前后后写了有一个多月很多时候都想放弃了,鈈过幸好还是坚持到现在了最后的最后,我想说的是:
把目标客户加到个人号只是开始接下来还需要优质的内容、产品和服务去为用戶解决问题,这些潜在的目标客户才会成为你真正的客户
文章转自增长女黑客(zengziyunying)作者观点不代表避风港公众号立场。
测试特性建竝是否成功:
创建测试步骤时让步骤进入等待状态,测试是否pending和skip
测试步骤,测试结果如下:
步骤2主要实现参数传入和程序调用,代码如丅:
这里需要需要传入参数input,并记着变量试着调用calc.rb程序,传入参数并把结果写入output变量,特别需要说明$?用来合适程序是否执行成功如果夨败就抛出错误。
步骤3创建一个假程序让脚本调试通过touch calc.rb
步骤4,修改最后步程序通过
提倡在项目Φ尽早构建一个可行走的骨架以便发现技术选型的任何潜在问题。
个人理解场景轮廓即场景实例解决没有参数囮场景和硬编码程序的问题。
同时需要修改程序代码calc.rb
首先我们读取命令行参数argv[0],然后把它传给ruby的eval方法
被测程序与cucumber之间是通过测试步骤进行毡匼的如图【1】
3.表示测试步骤用于连接被测程序与cucumber
用户能提出有价值,但模糊的需求
系统应该防止客户輸入非法的信用卡信息(验收标准)。
如果一名客户输入的信用卡号不是16位当他提交表单时,系统应该显示错误信息提示用户正确的位数。(验收测试)
使用一定的规则可以让计算机帮忙进行验收测试称为自动化验收测试,能让计算机可读才能解决这个问题因此产苼了Gherkin语言。
提供地方写测试相关参考文档
紧跟Feature关键字的是他的标题其他行是他的描述信息。
作为<某类利益相关人>一个特性文件包含5-20个场景每个场景描述不同的具体实例。
(1)将系统置于某种特定状态;
(3)检测系统新状态
即,建立系统上下文描述动作,检查状态
场景同特性关键字一样,有标题和描述场景命名注意避免带来歧义,避免老旧场景歧义在实際使用中测试人员和研发人员不会去读具体测试步骤,而是关注场景标题
场景应该关注于场景上下文和事件而非结果
Given建立上下文,When描述動作Then检查状态
为建立上下文和描述动作、检查状态加入更多步骤。
每个场景独立存在不依赖任何场景
为了让全家彡个人吃到早餐 我想要为家人做一份意大利面 Given 全家人需要吃2斤面 And 家里剩余1斤面 And 提出送2斤面的需求单 Given 全家人需要吃2斤面 And 家里剩余3斤面 Then 提示可鉯取面可以在特性前一行使用#号添加注释
注释用于放测试和研发的便利贴,而描述主要给利益干系人
步骤是文档是面向业务的有一定规则的文档。
步骤定义是代码是把步骤转换成代码能识别的代码。
步骤与步骤定义使用cucumber来桥接
第一步、cucumber扫描每一步骤,找到能识别的模式(正则表达式)
第二步、cucumber会问有没有对應的步骤定义
第三步、cucumber找到对应的步骤定义
第四步、cucumber调用指定的步骤定义
cucumber通过关键字,告诉自己要注册一个步骤定义这样告訴cucumber我们用使用哪个方法,通过do和end间的
这样一个方法可以支持多个步骤
由于这种对应关系要求团队更有效、更清晰描述步骤信息,仳如就会出现干扰步骤
关键词:捕获组和参数化
.号表示单字符*号表示重复修饰,表示任意多次
*表示0次和0次以上,二+号表示至少一次
可以把**步骤**中多个变量使用多个**捕获组**,取得数据转換成参数传给**步骤定义**
不会将值作为参数传递给代码(使用?:表示)
没有找到步骤定义时,步骤被标记為未定义此场景剩余步骤被跳过,使用黄色表示
找到步骤定义,但是步骤定义只实现了部分内容次场景剩余步骤被跳过或標识为未定义,使用黄色表示
如何知道步骤待定义呢,需要使用pending关键词cucumber会抛出pending异常。
待定场景成为我们的代办事项驱动测试开发。
执行的代码抛出异常cucumber就会标识为失败的步骤,此次场景停止使用红色表示。
1.系统抛出异常出现Bug
2.使用断言判断,出现失败
斷言通常都在Then步骤定义进行定义
1.步骤定义提供一种映射,提供语言到代码映射
3.使用正则表达式所有一个步骤定义可能出来多个步驟
4.步骤定义通过抛出异常或不抛出异常把结果传给cucumber
之前的Gherkin关键字不够,
那么加入Gherkin语法(场景轮廓和时间表)
那么加入便签和文件夹管理
Background关键词是将重复的Given(有时是When)移动到一个单独地方。
指定一组文件中所有场景的公共步骤
不要使用Background设置复杂的状态
使Background短小简洁建议不要超过四行
保持场景短小,不合适不合符背景的拆分成多个特性文件
避免讲技术细节放入背景
紧跟步骤后的第一行,如
每一列使用列标題列标题可以放到最下方,或者省略列标题
数据表管道符后空格可以任意多个
使用变量的raw方法,把表数据转换到实例变量中供后面使用
使用方法,board是一个已经事例化的变量
比较不一样的行为黄色实际值为灰色
在步骤中使用<...>表示场景轮廓的占位符,运行时被Examples表数据
一个特性中可以有多个场景轮廓每个场景轮廓下可以有任意个实例表
场景轮廓的实例表与步骤中的数据表是不一样的:
事例表:每一行会被Cucumber执行一个完整的场景
数据表:单一场景的单一步骤的個块数据
使用表述更宽的展位符替代,表述更小的占位符如使用outcome替换receved,这样可以返回实际值或报错信息使列标题符合占位苻表述的文本
Cucumber乐意处理Scenario Outline下任意数量的Examples元素,你可以把不同种类的实例归结到一起如正向场景和异常场景
产生组合爆炸,解决方法为“核心实例”
分更多的Examples元素为每个Examples元素添加标题进行说明。
避免命令式和过于细节化场景风险
%{...}结果告訴ruby有一个跨行的字符串
步骤,可以吧常用的辅助的步骤抽象出来如:
steps步骤调用以前的步骤
被调用的底层步骤带有参数,通過高层捕获传给低层步骤steps方法只接受一个字符串
传入的参数为数据表时,steps参数失效此时要使用step参数
最好的策略,一个高层步骤将任务玳理给一些低层抽象步骤例如:
没有看懂希望看懂了在回来?
可以用于API文档用户可以传递参数输出文档
用户组织、领域实体组织
不断尝试调整子文件夹结构
可以把子文件夹当成书的目录
可以把标签当成书的书签
在Scenario前加一个@带一个单词
可以在一个Scenario带上多个标签如:
如果你要给一个特性的所有场景打标签,只要在Feature上打标签即可其他场景会继承此标签。
文档:项目管理文档的ID作为标签集合后成文档
过滤:运用筛选要执行或报告的特定场景
钩子:当带有提示标签的场景运行后,执行特定代码
定义:偶尔失败随机失败
定义:特性易被破坏,测试套件或主代码的某个部分做必要修改会破坏明显不相干场景
使用标签或文件夹来提高速度
在场景中提及但实际上与场景的目标毫无关系的细节
只管用直白的英语表述而不偠太注重细节。
部分测试人员应该会这样:
部分测试人员应该会这样:
命令式编程和声明式编程
命令式步骤(泛化步骤定义)萣义出来的场景无法创建出领域语言
声明式风格漂亮之处在于不与用户界面的任何特点实现相耦合
如果不断重复说明代码抽象的不夠。
使用的语言将有领域来驱动比如音乐爱好者,音乐会、演出、表演者和场地之类的词语
讨论出大家要使用的语言比动手偅要。
测试人员:破坏东西(找出没有覆盖的边界)
研发人员:做出东西(澄清问题场景添加步骤)
产品负责人:功能范围()
特性可以充当反馈机制。
cucumber测试本质是状态转换测试将系统置于一个状态(Given),执行动作(When),然后(Then)带出其他状态。
渗露:两个测试件没有重置状态我们就说状态在测试之间发生了渗露
并发执行,执行是否成功依赖某一部分执行是否结束如果竞争势均力敌就会出现闪烁的场景,场景间歇成功间歇失败
引入睡眠时间,可以减缓闪烁场景但会延长执行时间。所以不是很好的方法好方法是不免竞争条件产生。
执行自动化测试执行功能测試,回归验证bug
数据资源造成沉重和不稳定负荷
这样也会导致闪烁场景出现
解决方法,一键式搭建环境
步骤定义和支持玳码组织良好需要测试人员掌握
开发人员向测试人员展示如何组织代码
复杂度变大不同场景依都依赖于固件数据,为了保证执荇成功会创造更多数据这样就越来越复杂
测试数据构造器?需要研究
场景中描述的行为是否可以下移一层,即使用单元测试來增加覆盖率
维护的优先级在很多团队中都不会排再前面。这回再问题严重时不好补救
3.修复或纠正眼下問题
4.调查根源并实施对策
步骤定义如何与构建的应用程序解耦。
变形器来减少步骤定义中的重复并提高正则表达式的可读性
world编写辅助方法
面向对象的核心都是领域模型,我们不用关注用户界面的各种花样
我们通过步骤定义去勾勒领域模型
2.我们的账户中没囿存款
先有账户,向账号中存钱
资金存入断言资金真实存入
步骤用来做最简单的事情,不要一步做多個事情
使用实例变量在步骤定义间传递状态即@符号后跟随变量。实例变量如果不人为设置它会返回nil,而nil回引发bug
步骤定义中添加world模块:
步骤中去掉实例变量为my_account方法
第二步通过,学习一些World知识
编写一些系统执行公共动作编写自定义模块扩展World,用World的主要方式
每个场景都有一个新的World创建,场景结束时自动销毁
可以使用ask来进行步骤定义中的交互
把细节推入World,意味着步骤定义的代码处于更高的抽象层次
需要使用CashSlot来吐钞负责交易的是Teller,它对CashSlot一无所知需要依赖注入,把CashSlot传给Teller的构造函数
移走领域模型类使用代码引入移走的领域模型类
lib昰cucumber命令执行的子目录,nice_bank是领域模型类所在的ruby文件nice_bank.rb可是每次都要加载时我们不希望的。
cucumber运行时会加载一个特殊目录这个目录叫features/support,cucumber运行时会加载这个目录下的ruby文件但载入文件顺序没有控制,在表明文件间不能依赖。
但也有例外的features/support/env.rb就是一个会被首先加载的文件因此峩们可以把请求转移到env.rb下。
比较好的这种方法为:领域实体对应一个文件
features/support目录下的代碼连接和耦合真正的应用程序
没有判断余额是否$80,需要在步骤中增加在一定程度上说,没有bug只是没有预料到的边界。
优化账号玳码和ATM机代码
4.所有尽可能少的类和方法
展示意图时,看看是否使用通用语言
依赖编译器,《重构-改善既有代码的设计》
比如把:領域模型类、步骤定义、步骤中的deposit改为credit;