SPIN技术论文(共5篇)
SPIN技术论文 篇1
人们在谈到SPIN技术时, 往往将其与大订单销售、长周期销售等大宗生意联系在一起, 其作用也仅限于销售过程中的问题识别;而在谈到FAB法则时, 则更多地将其运用于消费品的销售, 且只用于商品展示与介绍阶段。事实上, 对于某些商品的销售, 如耐用消费品、易于识别问题的工业品等, 有必要而且也有可能以USP理论在SPIN技术与FAB法则之间架起一座桥梁, 以产品独特卖点为阵地, 有效识别客户问题, 并有针对性地进行产品介绍, 最终促成成交。
1 FAB法则
FA B法则是美国俄克拉荷马大学企业管理博士、台湾中兴大学商学院院长郭昆漠教授提出来的一种产品介绍方法, 其中F (Feature, 属性) 是指产品品质, 例如产品材料、设计的特点, 是一种产品能看得到、摸得着的东西, 也是一个产品最容易让客户相信的一点;A (Advantage, 作用) 是指从上述特性所引发的用途, 例如该产品 (由于上述特性而具有的) 的作用、功能;B (Benefit, 好处) 是指上述作用、功能或者优势会给客户带来的利益, 需要特别强调的是, 这一利益是因客而异的。
根据FAB法则, 销售人员在进行产品介绍时要按照属性、作用和利益的顺序进行介绍, 能使讲解更具说服性。FAB法则的核心是利益, 因为客户实际上购买的是特殊利益, 这就要求销售人员在讲解前识别出客户的特殊需求, 而SPIN技术则是识别问题的有力武器。
2 SPIN技术
SPIN技术是美国Huthwaite公司的销售咨询专家尼尔·雷克汗姆与其研究小组在分析了35000多个销售实例, 研究了116个可以对销售行为产生影响的因素, 于1988年对外公布的一项销售技能领域中最大的研究成果。具体来说, S (Situation question, 状况性询问) 是指卖方应首先询问有关买方的事实或背景;P (Problem question, 问题性询问) 是卖方应询问买方当前的问题、难点和不满, 而卖方的商品和服务正是可以帮助买方解决他们的这些问题、难点和不满的问题;I (Implication question, 暗示性询问) 是通过询问暗示如果买方的问题、难点和不满得不到解决, 将会有更严重的后果;N (Need-payoff question, 需求确认询问) 是指卖方最后应通过询问需求确认问题, 描述可以解决卖方难题的对策, 让卖方自己说出买方提供的对策的利益。由于SPIN技术的特点, 使得它可以较好地识别客户存在的困难、不满和抱怨。
3 USP理论
USP理论是20世纪50年代罗瑟·瑞夫斯对广告运作规律进行总结并提出的, 即独特的销售主张。经过大半个世纪的实践和完善, USP理论已经延伸至销售技能层面, 即一切销售活动均应基于产品独特卖点而开展。具体来讲, 在寻访顾客时, 条件允许情况下尽可能寻访那些可能会对产品独特卖点感兴趣的潜在顾客, 而这一点是可以根据潜在顾客的行业特点、普遍性问题以及其他显性特点判断出来的。在识别问题时, 尽可能发掘出卖方产品独特卖点所能够解决的买方问题。销售代表如果通过提问的方法识别客户的问题, 这些提问应该围绕产品的独特卖点而设计。在产品介绍时使用USP则更容易被人理解, 即在产品的众多特点中着重介绍产品的独特卖点。在排除异议、促进成交时也时刻向顾客宣传产品的独特卖点。
从上述销售过程可以看出, USP理论是销售的利器, 但它并没有给出在销售的各个阶段, 尤其是识别问题阶段和产品介绍阶段的具体方法。在识别问题阶段, SPIN技术的作用无可替代, 而在产品介绍阶段, FAB的作用又尽人皆知。这两种以前似乎没有关联的销售技能之间, 其实完全可以用USP理论架起一座桥梁, 将其进行整合应用。
4 SPIN、USP、FAB的整合应用
4.1 SPIN与USP之间的整合点
在SPIN技术中, 虽然暗示性询问和需求确认询问对销售的帮助最为有效, 但其往往是在状况性询问和问题性询问的基础上展开的, 而状况性询问和问题性询问从何处开展则是销售人员掌握该技术的难点。比如, 一台设备的销售人员在识别客户的问题时, 不知道该了解客户哪些“状况”和“问题”。由于设备可能有数百个性能参数, 数十种功能, 这也会让销售人员在和客户沟通时无从下手。这是使用SPIN技术识别客户问题的难点。但是, 如果企业提炼了USP, 则可在USP的基础上识别问题, 而暂时放弃那些非独特卖点的功能。
例如, 某设备的独特卖点是省电 (节约20%) 和寿命长 (比普通设备长20%的使用年限) , 则可以基于这两个独特卖点提出的状况性询问和问题性询问分别是:
基于卖点一 (省电) 的状况性询问和问题性询问:
状况性询问:贵公司的设备每台每月要耗多少度电?
问题性询问:贵公司的设备耗电这么多, 对你们的经营有影响吗?
基于卖点二 (适用寿命长) 的状况性询问和问题性询问:
状况性询问:现在贵公司的设备平均寿命多长?
问题性询问:设备平均寿命这么短给贵公司主要带来什么麻烦?
销售人员可进一步在此基础上提出暗示性询问和需求确认询问。
由此可见, USP为SPIN技术的的提问指出了方向, 只要企业提炼了USP, 销售人员可以很轻松地在USP基础上开展SPIN提问。
4.2 FAB与USP之间的整合点
相对于SPIN与USP的整合, FAB与USP的整合更容易理解, 使用FAB法则介绍产品将能更好地展示USP, 使USP能够被客户理解。例如, 某汽车的独特卖点是省油, 则使用FAB介绍其省油这一卖点的标准话术如下:这款汽车采用了动能和电能相互转化的技术 (F) , 可以将不需要或者多余的动能转化为电能, 这些电能可以在需要的时候重新转化为动能, 因此具有明显的节油效果 (A) , 现在油价飞涨, 这款车很适合家庭使用 (B) 。通过使用FAB法则介绍产品的USP, 使得销售人员的语言更具可信性, 其良好效果已被营销实践所验证。
4.3 SPIN与FAB之间的整合点
掌握FAB法则精髓的销售人员非常清楚, FAB法则的重点在于B, 即利益。前面已经强调过, 这一利益是因客而异的, 因此使用FAB有一个前提, 即销售人员已经识别出客户的特殊需求。对于复杂产品, 根据销售经验来推断客户的特殊需求往往有难度, 因此就需要通过特定方法去识别, SPIN技术正是识别问题的最好方法。因此对于某些特殊产品, 只有经过SPIN技术的识别, 才有可能在产品介绍时运用FAB法则, 二者整合不仅是可能的, 而且是非常必要的。
例如, 销售人员基于产品的各种功能分别提出了状况性询问和问题性询问, 发现客户在其中一部分问题上提出不满和抱怨, 并经暗示性询问和需求确认询问确认了客户对产品的几个特殊需求。因此在接下来的产品介绍时, 销售人员要重点介绍能够满足客户特殊需求的产品功能, 并在介绍完产品的属性、功能之后, 特别指出该功能能够解决客户的特殊问题。实践表明, 这种整合应用SPIN和FAB的销售讲解极具说服性。
4.4 SPIN、USP、FAB的整合应用
基于以上分析我们发现, SPIN、USP、FAB之间的整合应用可以表述为:在销售过程中, 应该以产品的USP为出发点进行SPIN提问, 识别出客户的特殊需求, 并在产品介绍时使用FAB法则, 告诉顾客产品的独特卖点可以很好地满足其特殊需求。具体如下图所示:
该模型在SPIN和FAB之间用USP架起了一座桥梁, 将三者之间联系在一起, 使得三者不再是独自发挥作用, 而是有了整合效果。适合整合应用USP、SPIN、FAB的产品包括大宗耐用品、工业品等, 消费品、服务的销售并不适合采用。另外在销售情景上, USP、SPIN、FAB的整合应用适合于客户对产品知识已经具备初步的了解, 处于产品品牌选择和供应商选择阶段使用时更具有实际效果。
参考文献
[1]李相臣.浅析USP理论的功能意义与发展[J].中小企业管理与科技.2008, (10) .
[2]王尤景.谈“USP理论”在农药整合营销中的应用[J].农药市场信息, 2007, (5) .
[3]史君英.运用FAB法则成功推销自我[J].商场现代化, 2007, (9) .
[4] (美) 雷克汉姆著, 石晓军译.销售巨人:大生意 (大订单) 销售训练手册 (原书名SPIN Selling) [M].企业管理出版社, 2004, (5) .
SPIN技术论文 篇2
中国作为世界上最大的玩具生产基地和出口国,却因仿冒侵权问题一直令许多外国品牌望而却步,而和大部分欧美公司不同,Spin Master近日正欲大举入驻中国市场,令人意外的是,这项决定源于公司管理层对中国知识产权制度的信心。自2004年以来,Spin Master开始在中国就旗下知名产品陆续进行商标注册、著作权登记及相关实用新型专利申请,尤其在广东汕头等地,又连续发起了20多起民事诉讼和多起行政、刑事诉讼。“在过去的12年里,我们在中国遭遇了很多假冒产品,但也采取了多种知识产权保护措施并相继取得成功。” Christopher Harrs说,“尽管挑战重重,甚至不时遇到地方保护主义,但公司在知识产权保护和寻求各种法律救济方面从未有过任何犹豫。Spin Master在中国所取得的每一次胜利,都坚定了我们对中国知识产权制度的信心,我们也希望这一举措能给整个北美玩具行业传达积极的信号,以此改变对中国知识产权保护的负面印象。”
用创新科技做玩具
Spin Master的故事,要从世界上第一只草头娃娃开始说起。
1994年的多伦多,三个刚刚大学毕业的年轻人设计了一款奇特的草头娃娃:外表并无独特处,但每天给娃娃滴水灌溉,娃娃的光头上会如长头发一般慢慢发芽长草,这只兼具奇妙体验感的创意小玩具,在当时售价10美金。三个人用箱子装满自己的产品,走街串巷地进行推销,其中一位创始人甚至开着汽车径直跑到了凯马特超市,用不同常人的胆色最终说服凯马特公司,拿下了30万件的巨额订货单——也是这笔订单,帮助三个年轻人成立了Spin Master公司。两年后,三人又开发了一款非常具有市场革新意义的创意玩具——飞行鲨鱼(Skyshark),这个耗时两年时间、摒弃了传统飞行玩具的电池装置并创新性地使用空气压缩动力而研发的产品,迅速成为当时玩具市场热卖的一号明星,销售额一度达到数百万美金。Spin Master 很快就其空气压缩动力器申请了相关专利,并利用该技术相继开发了其他遥控飞行玩具,从而迅速跃身为世界上第一家设计制造室内遥控直升机、遥控飞碟的玩具公司。直至今天,在全球遥控飞行玩具领域,Spin Master已是当之无愧的行业领导者,产品销售涉及60多个国家,年销售额近20亿美金。
“Spin Master的创始人在开始自己的事业之初时就认识到,想要在业内站稳脚跟,并和规模更大的品牌公司进行竞争,公司必须设计开发具有革新意义的产品,用颠覆传统玩具市场的创意来引发消费者的惊喜。” Harrs说,“我们不是一家普通的玩具公司,我们一直在试图进行技术方面的发明创新,开发那些可以激发想象的科技型玩具。”
凭借与生俱来的科技创新基因,Spin Master相继在市场推出了多个热卖的创新型玩具,一度刷新世人的眼球:可以感应手掌的动作并随之上下飞舞的“Flutterbye飞仙女”,直接爬上墙且紧紧吸附在天花板上的“爬墙车”,像真实世界里的宠物狗一般能够听从主人指令的Zoomer系列互动电子宠物狗……美国玩具行业协会(TLA)每年会评选出12大类不同的优秀玩具产品,自2005年至今,Spin Master就有58次被该协会提名为“年度玩具奖”候选,其中有14次在多个产品类别获得该项大奖。尤其在竞选“创新性年度玩具”大奖中,Spin Master有11次获得提名,比任何一家竞争对手的提名次数都要多。
创新产品的背后,是Spin Master强大的研发资源网,这张庞大的网络里汇集了全球的产品设计师、发明人、工程师和技术人员。据悉,Spin Master在美国洛杉矶、加拿大多伦多、中国东莞均建有示范店,店内配备了优秀的设计和工程团队,支持公司进行机器人和动画业务的开发。其中,位于多伦多和东莞的设计中心重点研发飞行和控制系统工程,洛杉矶的工程师们则集中精力强化和支持从数字到物理的开发周期。
“全球研发的重点,是将先进技术和不断演化的游戏模式整合进产品中去。而在努力突破技术和创新的路上,我们一直在试图建立多元化的全球合作关系。”Harrs告诉记者,“这个关系网联系着全世界富有创造力的聪明人,不仅仅只是玩具发明人和设计人员,事实上还包括娱乐影音制作单位、动画制作公司等合作伙伴。”
“爆丸”(Bakugan)曾是Spin Master公司一款风靡全球的经典产品,一经上市即取得了超过10亿美金的销售额。这个乍一看毫不出众的圆形球体,在弹开后却能瞬间变形成一个拥有四肢的竞技类人物,其背后还拥有磁力发动器相关的专利技术。这样一个风靡世界的明星产品,从诞生到上市的故事也正是Spin Master全球资源网下通力合作的缩影:原创发明人带着一张画有弹球装置的简单草图找到Spin Master,引发了公司创始人的浓厚兴趣,带着对这一构思的前瞻目光,Spin Master很快联合日本世嘉公司将这一设计进行优化升级,几经演绎之后,创造出了磁力发动的整体技术,并最终将“爆丸”成功推向市场。
而在多元化自己的业务上,Spin Master亦用敏锐的市场嗅觉,再次和日本世嘉及加拿大一家动画公司进行深度合作,制作推出了在全球动漫娱乐和玩具行业保持多年超高人气的动画片《爆丸》。《爆丸》的成功,使得Spin Master将目光放得更为深远,随后连续制作播出了《狗狗巡逻队》(《Paw Patrol》)和《梦幻魔法师》(《Little Charmers》)等其他5部共计400多集的儿童动画片。据尼尔森统计,《狗狗巡逻队》自播放以来,在所有美国学龄前电视节目中一直位居前五位的人气排名。
仿冒之战
《爆丸》风靡在动漫和玩具市场的超高人气,也引发了一波挥之不去的仿冒热潮。国内一家公司很快推出一部非常类似的真人版动画片《爆丸小子》(《BAOWAN BOY》),在多个电视台进行热播,同时配合该动画片的“爆丸”系列动漫衍生品亦受到市场的热捧。在该“爆丸(BAOWAN BOY)”系列玩具上,中文名称“爆丸”使用了Spin Master旗下“爆丸”(Bakugan)的中文注册商标,玩具外观设计亦和“爆丸”(Bakugan)极其相似。而颇为讽刺的是,《爆丸小子》(《BAOWAN BOY》)不久后也遭遇了同样的盗版和侵权,这家公司甚至启动了针对该项抄袭的反侵权行动。最终,Spin Master将这两家公司及另外两家涉及侵权产品的加工生产商及零售商、经销商诉诸法庭,共提起6项著作权侵权之诉,最终获得了72万元的赔偿额。
“Flutterbye飞仙女”作为Spin Master公司最热卖的一款明星产品,曾经屡获殊荣,包括美国玩具行业协会的两项“年度最佳玩具奖”提名。而这款风靡全球的玩具,是Spin Master公司在中国遭遇仿冒侵权最为严重的产品,甚至在许多机场都能买到各种“Flying Fairy”或是“Magic Fairy”等的仿冒品。拥有一个会飞的小仙女似乎是每个小女孩的童年梦想,正版的“Flutterbye飞仙女”,启动开关后,小仙女的裙子会像燃烧的火焰一般旋转起飞,并能够通过手掌的感应来控制其上下悬浮。而仿冒的小仙女,往往会像断了线的风筝一般越飞越高,直至消失在空中。一段发布在Youtube上的“Flutterbye飞仙女”视频曾一度爆红网络:一位日本妈妈在中国网购了一款山寨的飞天仙女送给女儿,首次飞行后便在镜头里一飞不复返。
Harrs向记者介绍,事实上,设计这款“Flutterbye飞仙女”,曾耗费公司高达数百万美金的研发费用。为实现飞行的精准高度,研发团队在旋转轴和裙子形状上都有特别精巧的设计,同时,小仙女独一无二的感应悬浮能力,其中重要的技术支撑则是源自一家日本公司的红外测距技术。Spin Master除了要向日本公司支付高额的专利许可费外,甚至还耗资另外发明了多项技术来完善对日本这一红外测距专利的应用。在国外,这款“Flutterbye飞仙女”的售价是46美金(约合300元人民币),而记者在国内某网购平台上输入“飞天仙女”关键词搜索,满屏则充斥着30-80元人民币价格不等的仿冒品。
“假货不仅使我们的销售额受损,也影响着对创新投资的积极性。”Harrs说,“这些假货和仿冒品有的飞到天花板上摔下来,有的一去不回,有的甚至可能因为锂电池造成起火和爆炸事故,给我们整个品牌形象抹上污点。”Harrs坦言,自己的处境曾经非常尴尬,因为假货泛滥,公司不得不慎重考虑对中国工厂的选择,以及对中国市场的折衷态度——避免将所有产品引入中国,尤其是新产品。
自2004年至今,Spin Master联合罗思知识产权咨询在国内启动了一系列针对“Flutterbye飞仙女”、爆丸(Bakugan)、Zoomer宠物狗、爬墙车、《狗狗巡逻队》等产品的知识产权保护行动,除了爆丸和《狗狗巡逻队》涉及商标保护案件,大部分仿冒产品涉嫌侵犯动漫形象的著作权和专利权。在爆丸项目中,Spin Master联合有关执法部门关闭了50多家涉案工厂;而针对“Flutterbye飞仙女”案,在过去三年的时间里,Spin Master共提起了9起民事诉讼并获得了相应的赔偿,在仿冒品泛滥地区如广东汕头等地的制假窝点,亦重点采取了行政打击手段,有的严重侵权案件甚至被提起了刑事诉讼。
“在中国,由工商局和质检局发起的行政执法行动十分快速并有效,这是一个非常具有中国特色的执法手段,权利人甚至不用花律师费。”Harrs说,“行政执法非常有效地制止了侵权行为,但遗憾的是,事后的侵权行为会很快再度出现,西方人把这种现象叫做‘砸鼹鼠游戏——游戏中,鼹鼠总是不停地从不同地方冒出来,游戏人用锤子砸掉一个,鼹鼠还会从其他地方冒出,永不停止。”而这种重复侵权行为,在Harrs看来,最根本的问题仍是惩罚力度太弱,“我们启动民事诉讼时总是非常犹豫,你知道,诉讼费用远远超过我们获得的民事赔偿,但有时候这只能是我们唯一可以采用的办法。”
中国计划
尽管Spin Master在中国遭遇着大量的仿冒品侵权,以及知识产权保护行动的许多障碍——比如地方保护、重复侵权、赔偿额度低等问题,但Harrs表示,自己依然对中国知识产权保护充满信心,“在和罗思知识产权咨询长期合作的这些年,我也积累了丰富的经验,更见证了中国知识产权制度的进步。”Harrs说,“每个国家在司法保护方面都有些差异。在中国,只要你注册了商标,工商局会采取行政手段打击商标侵权;中国和美国也是世界上授予玩具形象著作权仅有的两个国家,且在中国获得著作权登记的花费不多,速度又很快;在实用新型专利的申请上,因为不进行实质审查,专利被授予的时间也很快,只有6个月。只要深入了解相关的知识产权保护机制,我相信总有办法让侵权商停止侵权。”
二胎政策的放开、中产阶级的兴起甚至也吸引了儿童娱乐产业的目光。Spin Master专门就中国儿童娱乐市场进行过相关研究:这个市场自2010年以来一直在增长,2014年市场容量甚至达到740亿元人民币的规模。同时,淘宝天猫的热销也改变了Spin Master于线上销售的保守态度。“我相信这是一个巨大的、富有潜力的市场,天猫旗舰店或许也会成为我们在线上销售的尝试。值得一提的是,每个美国孩子在玩具上的平均花费在200美元左右,而中国孩子的平均支出则是30美元,但我们有些产品的价格通常都在100美元以上。”Harrs说,“我们必须要调整自己的市场预期,调整产品的价格体系,这意味着我们必须努力降低成本来适应市场,或者开发价格更便宜的替代版本,无论如何,总能找到办法。
SPIN技术论文 篇3
1 SPIN技术
尼尔·雷克汗姆与他在Huthwaite销售咨询公司的研究小组在分析了35000多个销售实例, 研究了116个可以对销售行为产生影响的因素后, 于1988年对外公布了一项销售技能, 即SPIN Selling。具体来说, SPIN是一种向客户提问的技巧和开发潜在客户需求的工具, 包括四个环节:状况性询问 (Situation questions) ;问题性询问 (Problem questions) ;暗示性询问 (Implication questions) ;需求确认询问 (Need-pay off questions) 。
1.1 状况性询问 (Situation questions)
主要是询问事实或客户目前所处的状况, 称之为状况性询问。成功的销售代表往往先做好准备工作, 从其他来源找到与事实有关的基本信息, 在与客户进行沟通时, 首先提一些状况性问题。状况性问题对于了解客户的基本情况很有帮助, 但状况性询问是效力和威力最低的, 对成功有消极影响, 而大部分人问得太多, 虽然问得多可以让销售代表获得的信息增多, 但同时也会给客户带来许多潜在的压力, 会使客户产生一种强烈的抗拒心理。另外, 来自Huthwaite公司的研究发现, 你的状况性询问越多, 销售会谈成功的可能性就越小。
1.2 问题性询问 (Problem questions)
问题性询问比状况性询问更有效, 越有经验的销售代表, 越会频频提出此类问题, 而且不会吓到客户, 因为这是在关心客户的问题点, 关心客户的切身利益, 而每个客户都会有问题。只要销售代表找准切入点, 事前做好准备, 那么, 当销售代表提出问题的时候, 客户就会跟你交流。尤其当销售代表以专家的身份在某个领域面对客户的时候, 每个人都希望跟专家做交谈。问题性询问是问客户目前在工作和生活中面临的问题、困难和不满, 并且这些都是我们的产品或服务可以解决的, 笔者的另一篇文章《销售技能整合:以USP架通SPIN技术与FAB法则》中还提出, 应该基于产品的独特卖点提出状况性询问和问题性询问。
1.3 暗示性询问 (Implication questions)
暗示性询问就是问客户的难点、困难或不满的后果和影响, 在所有SPIN问题中, 暗示性询问是最有效的一种, 出色的销售人员都会问许多暗示问题, 但这种问题最难以提问, 而且这一销售技能是不会随着销售经验的增多而自动提高的。新销售人员因为缺乏经验, 可能看不到客户的问题与他们能提供的对策之间清晰的关系, 结果他们也许会认为提供的解决方案是很勉强的。然而, 当销售人员变得越来越自信时, 明白了产品是如何解决难题时, 当他们问客户更多的难题问题时, 难题与对策 (解决方案) 之间的联系在他们的头脑中就会变得越来越清晰。
1.4 需求确认询问 (Need-pay off questions)
需求确认询问实际上是将客户的注意点由产品转向价值交换, 也就是让客户考虑方案和方案本身的意义以及对未来影响的一种提问方式, 这种询问可以让客户主动说服自己, 在整个销售拜访过程中最有利也可以说最有效。典型的需求确认询问如下:您是一个思想非常超前的企业家, 您看您选择哪类方案?您倾向于哪几种方法, 为什么?实施后效率增加了多少?你们在设备更新方面有什么需求?在使用这个产品的同时, 需要什么样的配件, 具体有什么功能参数要求?等等。
SPIN技术有一个大概的提问顺序, 即首先是利用状况性询问了解到客户的一些背景信息, 然后销售代表通过问题性询问揭示出他们的问题, 使用暗示性询问, 开发难点, 将隐藏性需求开发成明显性需求, 最后转向对策 (解决方案) , 提出需求确认询问。
2 PIDO模式
SPINSelling作为一种提问技巧, 是整个销售步骤中的组成部分, 而其整体的销售步骤, 可以分为四个阶段, 即准备阶段 (Preliminaries) 、调查阶段 (Investigating) 、展示功能阶段 (Demonstrating Capability) 和获取承诺阶段 (Obtaining Commitment) , 本文总结为PIDO模式。
2.1 准备阶段 (Preliminaries)
这个阶段既包含与客户初见面前的拜访准备, 也包含与客户见面后但还未开始正式推销的所有动作, 如自我介绍、开场白等。前者的重点在于掌握有关客户的基本信息, 包括客户企业的全称、地理位置、负责人和其他的基本情况, 后者的重点在于取得客户的基本信任和初步好感, 促使客户进入深度交流。
2.2 调查阶段 (Investigating)
这里的调查阶段是指在与客户沟通时, 进行调查了解的阶段。在这个阶段中, 如何运用提问的技巧来了解客户和他的公司背景, 并且找出客户的需求是重点。而这个阶段也是“SPIN Selling”中最重要的销售技巧。
2.3 展示功能阶段 (Demonstrating Capability)
大宗销售的销售展示除提供客户解决问题的方法外, 最重要的还应使客户觉得他所付出的代价是值得的, 稳住销售过程中客户的价值天平, 或使之向解决方案的价值一方倾斜, 因此, 如何来建立客户心中对产品的认知价值是这个阶段的重点。
2.4 获取承诺阶段 (Obtaining Commitment)
由于大宗销售不像小额销售般可在短时间内使客户做决定, 而必须经过阶段性的进展 (Advances) 方能成功, 因此成功的销售拜访应获得客户某种形式的承诺, 这个承诺不一定就是购买产品或服务, 而是达成销售拜访前所设定的目标, 如争取客户给予面见高阶决策者的机会或参加一个产品发布会等。
3 SPIN技术与PIDO模式的整合应用
3.1 SPIN技术与PIDO模式整合应用的可行性
SPIN技术与PIDO模式应用的基础同为大宗销售, 虽然SPIN技术着眼于与客户沟通时的提问技巧, 但其必然应用于整个销售进程, 而PIDO模式正是对大宗销售进程的最好总结, 在销售实践中, 任何销售对话都隶属于整个销售进程, 因此整合应用SPIN技术与PIDO模式不仅具有可行性, 也具有必要性。只有将二者融合贯通, 整合应用, 灵活运用, 才能不形而上学, 停留在技术层面。
3.2 SPIN技术与PIDO模式整合点
根据以上分析, SPIN技术主要应用于PIDO模式的调查阶段、展示功能阶段, 即销售代表可以在调查阶段提出状况性询问和问题性询问, 来发掘客户更多的事实, 了解客户的不满、抱怨和困惑;在展示功能阶段提出暗示性询问和需求确认询问, 以增加我方对策的吸引力, 加大价值天平价值一侧的分量。当然, 在展示功能阶段必要的话可以应用USP理论和FAB法则, 以提高功能展示的效果。
例如某客户需要购置一大批生产设备, 销售代表的一次销售拜访的进程如下:
准备阶段, 了解客户的基本情况, 包括但不限于企业全程、经营状况、建厂历史、面临的市场竞争、决策体制等, 尽可能了解相关背景;
调查阶段, 则可以根据需要了解的情况, 先后提出状况性询问和问题性询问。
状况性询问:贵公司现在使用的设备每台每月要耗多少度电?现在贵公司的设备平均寿命是多长时间?
问题性询问:贵公司的设备耗电这么多, 对你们的经营有影响吗?设备平均寿命这么短给贵公司主要带来什么麻烦?
展示功能阶段, 可以根据需要, 提出暗示性询问和需求确认询问。
暗示性询问:根据您所讲的, 电费是经营成本的最主要的组成部分, 你们原来的设备耗电这么多, 无疑将增加你们的成本, 这对于你们与xx公司的竞争意味着什么?
需求确认询问:这么看来, 对于新购置设备的要求, 您特别看重节能降耗, 是吗?
最后是获取承诺阶段, 要求销售代表提出下一步的步骤, 即询问下次可以来拜访的时间, 或是请求拜访更高阶主管, 或是请求客户下周参观我方的生产基地等, 并获取对方的肯定性的承诺。
3.3 SPIN技术与PIDO模式的整合模型
基于以上分析我们发现, SPIN技术与PIDO模式之间的整合应用可以表述为:在销售拜访进程中, 应遵照PIDO模式完成拜访进程, 其中在调查阶段, 使用SPIN技术中的状况性询问和问题性询问;在功能展示阶段, 伴随着功能展示, 合适的时候使用SPIN技术中的暗示性询问和需求确认询问, 最后以明确的语言获取下一步的承诺。具体如图1所示:
该模型解决了两种大宗销售技术之间的关系, 明确了PIDO模式与SPIN技术的各自逻辑关系和先后顺序, 以及在整个销售拜访进程中的SPIN式提问应用的时间窗口。当然, 销售是实战性很强的科学, 不可能按照公式来开展销售, 但是在理解SPIN技术和PIDO模式的原理, 掌握二者整合应用的模型的基础上予以融会贯通, 灵活应用, 将会起到意想不到的效果。
摘要:本文通过对SPIN技术与PIDO模式的分析, 指出在大宗销售过程中两种销售技术的异同, 提出在将两种技术的阶段分拆并联合应用的模型, 对于在大宗销售中联合应用两种销售技术, 具有一定的指导意义。
关键词:大宗销售,SPIN技术,PIDO模式,整合应用
参考文献
[1]The Management of Major Sales, Neil Rackham.
[2]Making Major sales, Neil Rackham.
SPIN技术论文 篇4
当前嵌入式软件已经普遍运用于航空航天、交通运输、核电能源等安全关键领域。为了提供更为灵活和可靠的服务,嵌入式软件的规模和复杂性不断增加。用于安全关键领域的嵌入式软件一旦失效将有可能造成人员伤亡、财产损失等灾难性后果,因此,将这类嵌入式软件称为安全关键软件[1]。软件失效模式与影响分析[2]SFMEA方法提出于1979年,是工业界常用的软件安全性分析方法之一。SFMEA的基本思想是识别软件中的潜在失效模式;分析这些失效模式产生的原因并评估其对系统的影响;最后提出有效的改进措施以提高软件系统的安全性和可靠性。然而,传统的SFMEA方法仍然存在着一些问题和缺陷:传统方法采用自然语言描述失效信息,缺乏精确语义定义,容易产生二义性,制约了失效知识的存储和共享;另外,由于主要依靠人工分析,传统方法分析效率低、工作量大,结果易受分析人员主观经验影响,无法保证准确性。
针对上述问题,国内外学者们展开了一系列研究工作。文献[3]提出了一种基于灰色区间关联的SFMEA方法,通过计算各失效模式对象同理想评估对象的区间关联度,对水下机器人智能决策系统软件失效模式风险进行了定量评估。文献[4]在可信背景下,从软硬件FMEA对比和在软件分析和软件开发中的作用等方面详细分析了软件失效模式和影响分析技术。文献[5]对基于UML建模软件的SFMEA方法进行研究,建立了用例图和活动图与SFMEA分析要素之间的关系,并提出了一套分析方法。文献[6]提出了一种基于SFMEA的嵌入式软件质量控制方法,用以管理和分析实时嵌入式软件的多种失效模式。
基于上述研究,本文分析了传统的SFMEA方法,针对该方法的不足,结合模型检验工具SPIN,提出结合SPIN的SFMEA方法;关注了详细级的SFMEA安全性分析方法流程,用形式化的方法实现安全性模型验证;最后结合某型航空发动机数字控制系统的安全性实例分析,说明了该方法的实用性。
1 结合SPIN的详细级SFMEA方法
1.1 模型检验工具SPIN
SPIN是一个在有限状态系统中对于特定的安全属性进行正确性验证的工具。它擅长使用类似C语言语法的PROMELA建模语言对并发系统进行建模和分析。软件的失效模式可以转换为SPIN能识别的与PROMELA模型相容的验证属性。这些属性可以采用在模型中放置断言或使用LTL公式进行描述。SPIN工具提供了一个模型检验器和一个模拟器。模型检验器能通过自动检验程序的行为来判断一个PROMELA模型是否满足指定的验证属性;模拟器则可以通过模拟运行PROMELA模型代码,从而观察模型的可见行为[7]。如果某个安全属性没有被满足,那么模型检验器将返回一个供验证人员追踪查错的错误轨迹,即反例。模型检验在SFMEA中的意义:(1)利用SPIN支持断言或LTL公式描述传统SFMEA方法采用自然语言描述失效信息,提高了语义定义的精确性,支持失效知识的存储和共享。(2)利用SPIN中的PROMELA模型自动检验安全属性,解决了传统SFMEA方法中由于人工分析导致的分析效率低、工作量大,结果易受分析人员主观经验影响的缺陷。因此,本文采用结合SPIN的详细级SFMEA方法对软件失效模式进行形式化建模与分析,从而提高分析的准确性和充分性。
1.2 结合SPIN的详细级SFEMA方法流程
由于详细级SFMEA的对象是已经编码实现的模块或由伪代码描述的模块,因此详细级SFMEA的实施繁琐且工作量大,对系统中的每个模块都进行详细级SFMEA既是不必要的也是不现实的。因此分析人员应当挑选系统中安全关键、逻辑复杂、与其它模块关系紧密的软件模块进行分析。图1给出了基于SPIN的详细级SFMEA的具体实施过程。
1.2.1 建立目标模块的PROMELA模型
步骤一选定分析模块
在详细级SFMEA过程中,应当首先确定待分析的软件模块,有针对性地对相关软件模块进行详细级SFMEA分析以限制模块的可能危害。通过阅读软件系统需求规格说明文档,软件概要设计文档,分析人员将软件系统分解为子系统和子功能并从中重点确定系统中比较重要、容易发生风险的部分来进行分析。
步骤二C语言程序的PROMELA建模
在详细级SFMEA过程中,对目标模块的建模对象多为软件实现代码或程序伪代码,它们和PROMELA语言之间往往存在着许多一一对应的关系,这为转化为PROMELA模型提供了便利。因此,针对某种特定的程序设计语言,能够设计一套从程序设计语言到PROMELA模型的转换方法。根据这套转换方法,模型分析人员就能够方便快捷地对程序模块进行PROMELA建模,以支持后面的分析验证工作。从C语言到PROMELA的建模包括:基本类型建模、结构体类型建模、枚举型建模、变量作用域建模、控制语句建模、函数建模建模。
PROMELA出于效率等方面的考虑,不支持指针类型的建模[8]。然而C语言代码中广泛使用指针,因此有时必须对指针设法建模。这里论述指针类型建模的不必要性。然而事实上,像PROMELA这样的模型检验器输入语言要支持指针从理论上就是不可行的。因为模型检验需要保证模型状态的有限性,而指针却支持模型状态的动态扩充,因此不可能在PROMELA模型中对指针进行很好地建模。尽管在SPIN4.0版本以后我们可以利用SPIN允许内嵌C语言代码的功能,使用c_decl、c_code、c_expr等原语缓解对指针进行处理的问题。但是对指针进行转化的问题从根本上还是需要模型分析人员根据实际情况对源代码进行人工的转换来解决。譬如当需要对某结构指针(p)进行建模时,可以用该结构类型的变量(_pt_p)进行建模,然后当需要通过该指针取得结构内容((*p)->x)时,直接通过变量获取(_pt_p.x),通过这样的一系列等价转换来避开对指针的建模。然而必须指出的是,并非所有的指针类型相关的程序都可以等价转换为不用指针的版本,因此对某些指针相关的建模验证可能无法进行。
下面将对C语言的核心模块———基本类型建模、控制语句建模、函数建模进行简要介绍。
1)基本类型建模
C语言中的基本数据类型PROMELA语言中很多都有对应的类型,但是浮点数类型在PROMELA中是不支持的,原因很简单,因为浮点数的状态过多,而且不能精确表示,因此不适合作为模型检验程序的数据类型。表1给出了一种C语言和PROMELA语言的基本类型对应表。从表中可以发现,最后两种难以处理的类型一般都被简化处理为int类型,这样的做法在很多时候是适当地,但是毕竟改变了原来变量的语义,因此有些时候可能不适用,必须由模型分析人员根据实际情况特殊处理。
2)控制语句
C语言的主要控制语句有if、switch、while、for等,它们分别提供分支判断和循环等功能。PROMELA语言同样提供了对应的语法以支持分支和循环的控制能力。建模人员可以使用PROMELA中的if…fi语法对C语言中的if、switch等进行转换,使用do…od语法对while、for等进行建模,如图2所示。
3)函数建模
PROMELA中没有函数的概念,然而C语言程序中却充满了函数调用,因此必须有一种方式将函数建模到PROMELA模型之中。好在PROMELA中有替代函数的语法特征,我们一般可以采用inline过程或者进程调用的方式来建模C语言中的函数调用。例如,对于图3(a)中的C语言代码片段,我们可以采用图3(b)中的inline过程对其进行转换,也可以像图3(c)中那样使用进程来进行转换。
1.2.2 通过SPIN验证模块的失效模式
步骤三确定软件模块的失效模式
变量失效模式表示的是某个变量的值发生错误、超出范围等。变量失效模式可能是由于算法错误所导致,也可能是由于外部的异常输入所导致。表2给出了一些典型的变量失效模式。
步骤四验证模块失效模式
详细级软件FMEA过程中的失效模式验证方法与系统级软件FMEA相同,而且此时由于PROMELA模型与实际代码或详细设计的联系更为紧密,因此验证的过程也更为容易。模型分析人员能够很方便地将安全性分析人员所给的各种变量失效和算法失效等转化为PROMELA模型中的待验证属性,通过SPIN的自动验证功能判断某潜在失效模式是否确实可能发生等。
1.2.3 结合SPIN分析失效原因和影响
步骤五分析失效原因和影响
SPIN模型检验工具在验证一个安全属性时,如果验证过程出现问题,会生成一个反例文件。该反例文件中会记录一个从系统初始状态到出现安全属性验证失败状态的路径,模型分析人员能够追踪该路径,分析出该安全属性在系统模型中被违反的原因。将其映射到实际系统需求中,就能得到某一模式发生失效的原因。将其映射到实际系统需求中,就能得到某一模式发生失效的原因。为保证保证失效原因分析充分性,仍需在屏蔽了该失效原因的基础上继续分析验证系统的PROMELA模型,观察除了该失效原因以外是否仍然存在其他原因会导致同一个软件失效。
对于每个提取出的软件失效模式,在查找出了失效原因的基础上,应当进一步分析其失效影响。
基于SPIN的SFMEA分析过程中,对失效影响的分析仍然借助于SPIN工具。SPIN除了可以进行模型检验以外,还能够对PROMELA模型进行模拟运行。因此,可以利用SPIN的模拟运行能力,对存在失效模式的PROMELA模型进行模拟运行,其运行结果会体现模型在这种情况下的表现。将这些表现映射到实际的软件系统之中,就成为了该失效模式的失效影响。
步骤六提出改进措施并形成详细级软件FMEA工作表
根据上述详细级软件FMEA分析过程,分析人员已经找到了目标软件模块中的各种潜在失效模式及其对本模块、其他模块乃至整个系统的影响。根据结合SPIN的失效原因分析,分析人员已经定位了产生失效的根源,此时应该与设计开发人员一同提出改进措施并修改设计或实现。为了分析工作的完整性,为今后的工作提供依据,最后还应该分别完成详细级变量FMEA工作表等。
由于此时的改进措施已经非常详细,此时的改进措施由安全性分析人员来提出已经意义不大,因此详细级软件FMEA过程中的改进措施应该主要由软件开发人员来提出,辅以安全性分析人员的把关。
最后,在结束了与详细级软件FMEA的综合分析后,形成详细级软件FMEA工作表。
2 发动机数字控制系统实例分析
某型发动机控制系统的数据接收子模块由两个部分组成:一个接收数据缓冲区和一个数据接收函数。接收数据缓冲区其实主要就是一个数组,它负责将各通道和上位机发来的数据缓存起来,等待数据接收函数的读取。数据接收函数则负责从缓冲区中一帧一帧地读取和解析校验数据,并把已读取的数据帧从缓冲区中移除。
模型分析人员根据软件程序代码,结合本文介绍的从C语言代码到PROMELA模型的转换方法,将这两个部分分别建模。为了能够对这些程序模块进行验证,模型分析人员还建立了一个环境进程,负责产生各种输入数据帧。其中数据接收函数的PROMELA模型伪代码如下:
在结合SPIN的发动机控制系统详细级FMEA过程中,我们需要对失效模式进行逐一验证。
本例针对失效模式—缓冲区数组下标越界引用进行验证。该失效模式不需要模型分析人员将其转化为PROMELA模型中的验证元素,因为SPIN会自动检测所有的数组越界引用问题。通过SPIN的模型检验,模型分析人员会发现该失效模式确实可能在该软件模块中发生,即这段代码确实可能产生缓冲区数组越界引用的失效,如下所示:
通过SPIN分析失效原因和影响
结合SPIN的详细级SFMEA过程中,由于PROMELA模型与实际的C语言代码更为接近,因此模型分析人员能够更加方便高效地追踪反例,分析出失效原因。这个过程类似于固定执行路径的程序单步调式过程,分析人员可以在每一步中观察系统当前的所有变量的状态,从而分析出导致软件存在某个失效模式的原因。
如本例中的“缓冲区数组下标越界”这一失效模式,通过分析人员对反例的追踪分析,发现导致失效模式的原因是在数据帧校验失败的分支中多了一句数组下标向后移动的语句。
详细级分析过程中的失效影响分析可以借助SPIN的模拟运行方式加以辅助,以提高分析的效率和准确性。如本例中的失效影响,通过对PROMELA模型的模拟运行,模型分析人员可以发现该编码问题在本模块中除了会导致数据越界的问题以外,更多的是会导致数据帧丢失的问题,如下所示:
在结合SPIN的发动机控制系统详细级SFMEA过程的最后,安全性分析人员与软件开发人员一同对各个失效模式提出改进措施,进而修改程序代码,提高软件系统的质量[9]。并总结工作,完成各种详细级SFMEA工作表。部分详细级变量FMEA工作表如表3所示。
从该实例分析可以看出,结合SPIN的详细级SFMEA方法,利用SPIN工具的模型检验和模拟运行功能,辅助进行失效原因和失效影响分析工作,使分析方法在准确性、充分性和自动化程度等方面都比传统方法有很大提高。
3 结语
本文研究分析了传统的SFMEA方法,针对该方法的不足,结合模型检验工具SPIN,提出了结合SPIN的详细级SFMEA方法;重点关注详细级的SFMEA安全性分析方法流程,用形式化的方法实现安全性模型验证;最后结合实例分析,详细介绍了本文所提出的方法在实际工程项目中的使用过程,说明了该方法的实用性。
本文的主要工作总结如下:
(1)在传统SFMEA方法的基础上,结合模型检验技术,提出了一种结合SPIN的SFMEA方法。该方法实现了自动化的验证了软件失效模式,解决了传统SFMEA依赖人工,缺乏形式化语义以及无法支持验证的问题。
(2)本文详细介绍了结合SPIN的SFMEA流程,以及分析目标的形式化建模方法。给出了使用本文方法进行安全性分析的具体过程,并阐述了模型检验与软件失效模式与影响分析方法相结合的解决方案。
(3)本文通过结合SPIN的SFMEA方法对某型航空发动机数字控制系统进行了安全性分析实例研究。通过实际工程项目详细介绍了使用本文方法进行实践分析的步骤和细节,说明了本文提出的安全性分析方法的实用性。
参考文献
[1]NASA-STD-8710.13B.Software Safety Standard[S].USA:National Aviation and Space Association,2004.
[2]Reifer J.Software Failure Modes and Effect Analysis[J].IEEE Transaction on Reliability,1979,28(3):247-249.
[3]史长亭,张汝波.改进SFMEA的AUV风险评估方法[J].哈尔滨工程大学学报,2011,32(3):345-349.
[4]刘俊丽.可信软件失效模式和影响分析技术研究[J].电子商务,2014(12):47-48.
[5]Shi H,Wang X.FMEA-Based Control Mechanism for Embedded Control Software[C]//Information Technology,Computer Engineering and Management Sciences(ICM),2011 International Conference on,IEEE.2011:110-112
[6]王雁涛,王毅,杨钿.软件需求分析阶段基于UML的SFMEA方法研究[J].舰船电子工程,2013,33(8):119-122.
[7]Ben-Ari M.Principles of the Spin model checker[M].Springer,2008.
[8]郑军,黄志球,徐丙凤.机载软件适航认证标准新进展及展望[J].计算机工程与设计,2012,33(1):204-208.
SPIN技术论文 篇5
关键词:功能测试用例,SPIN,模型检测,Promela建模
0 引言
软件测试是指新开发出来的软件运用于实际生产前,对其需求的分析、设计规格的说明以及最终编码的复核审查,它是保证软件质量的关键步骤[1]。利用最少的时间和测试用例来找到软件开发过程中各阶段潜在的错误以保证该开发软件的质量,是软件测试的最终目的和终极目标。
为改变近年来人们对软件测试用例生成全靠手工完成的状况,同时满足自动化生成测试用例的需求,本文提出一种基于SPIN工具的系统功能测试用例自动化生成方法。首先,将待测系统的行为及状态基于符号的执行从源代码中抽取出来;然后,使用一组线性时态逻辑(LTL)公式描述特定的覆盖标准;最后,将建立好的Promela模型与代表系统属性的LTL公式一起输入到SPIN中进行检测。如此,就将模型检测工具的自动化验证过程转化成了测试用例生成过程,即SPIN生成的与LTL公式相对应的证据路径。图1为基于SPIN的自动生成测试用例技术框架。
1 基于SPIN的测试用例生成基本思路
SPIN[2]是由美国贝尔实验室开发出来的模型检测器,它主要用来对非实时系统模型进行检测,即验证某个有穷状态的系统是否满足利用LTL公式描述的属性。本文将系统功能测试用例生成的问题转化为一个模型检测问题,将生成测试用例的问题变换成验证模型检测中“状态不可达”、“不存在此条路径”等性质的问题。通过建立SUT行为模型,将一个测试覆盖标准构建为模型检测器的验证条件,并将模型检测得到的反例变换成测试用例集。由于模型检测工具能够利用生成的反例来解释违反了应满足系统性质的情况,因而此种反例很适合作为功能测试的路径。
为了利用模型检测过程得到的反例来生成测试用例集,需要取反用时序逻辑公式描述的测试覆盖标准,即假设测试覆盖标准永不为真[3],对原有的时序逻辑描述特性进行否定。检测时,若检测到系统与某个时序逻辑描述不一致,就会生成反例,说明模型不满足性质的原因,这是可能的一个测试用例的序列。当反复验证所有性质时,可以得到一系列能实现测试覆盖标准的测试用例的序列。图2清晰地表述了上述过程。
2 系统建模与模型检测
采用模型检测技术对被测系统和测试覆盖标准进行形式化描述,本文采用Promela描述被测系统,用LTL描述测试覆盖标准。
2.1 Promela建模
Promela(Protocol/Process Meta Language)[4,5]不是一般的程序语言,而是一款专用来描述并发系统的模型语言,用来建模有限状态系统。它类似于C语言的语法结构,能够动态地创建并行进程,进程间的通讯通过消息通道来实现,通讯方式有2种:异步、同步。由Promela建立的模型组成包括进程、消息通道、对象和变量等,如图3所示。
相关伪代码:
2.2 LTL公式逻辑描述
与CTL相比较,LTL更适合对并发程序的性质进行验证,所以本文使用的是LTL逻辑公式。在SPIN中,LTL算子包含有&&、||、→、!和3种时序算子:①<>p:表示p在未来的某个状态点成立;②[]p:表示p在未来的所有状态点都成立;③p∪q:表示p在所有状态点都成立直到遇到第一个状态点使q成立。在iSpin中,必须对每一个用到的LTL符号增加一个宏定义,即声明p、q所代表的等式。
2.3 SPIN检测
SPIN由贝尔实验室用ANSI C开发,可在所有UNIX操作系统版本中使用,也可在安装了Windows 95以上版本、Linux等操作系统中使用。SPIN工具的思想是求两个自动机的交集,如果为空集,则安全特性得到验证,否则输出不满足该安全特性的行为轨迹。
采用形式化公式来表达,即证明是否成立,其中,M表示模型,Φ表示时态逻辑公式。分别将Φ转换成自动机AΦ,将M转换成AM,即相当于证明:
图4为SPIN的验证原理图。
2.4 反例分析
SPIN采用双重深度优先搜索方式进行状态搜索,遇到反例路径后就退出搜索,并将路径打印到一个后缀名为“.trail”的文件里。这种方法的优点是完全自动化,系统若不满足给定的性质,检验结果就给出反例,生成的反例反映一个状态变换的路径,该路径包括一序列步骤,相应状态的取值在每一步骤中都会被给出。可以用系统简化的模型来反例跟踪,再结合正例来比较就可总结得出所需要的系统功能测试用例。
3 实验验证
3.1 电梯系统
电梯在运行[6]时分为如下3种状态:①空闲状态:电梯没有发出目的层呼叫信号和呼叫电梯信号;②等待状态:开始响应某一个呼叫电梯的信号,或有乘客正进、出电梯;③运行状态:正在响应某一个呼叫电梯信号。电梯系统运行模型如图5所示。
3.2 建模与LTL
3.2.1 模型的Promela描述
为了举例描述本文提出的方法,本次建模只是选取了1个人、上下4层楼电梯的模型作为例子,涉及3个进程Person()、Servis()、Elevator()以及3个通道:
具体进程建模描述(含详细代码注释)如下:
3.2.2 LTL性质描述
以下性质以乘客去3楼为例,建立检验规约,去其它楼层同理可行。
[]((going_to==3)-><>(at_floor==3)),此条性质说明乘客将要去3楼,则在以后的运行状态中该电梯必须有一个状态为到达并停在3楼的情况。
[]((going_to==3)-><>!(at_floor==3)),此性质为实验的缺陷性质,即将原本成立的性质全部或部分取反,如果验证工具给出反例,则说明该性质是不满足的。从反例给出的路径可以分析得到想要的功能测试用例。
3.2.3 验证与结果
首先在官网下载cygwin软件(用于虚拟Linux环境),点击下载安装所有安装包,以免出错;然后启动XWin server服务器(用于生成iSpin界面);最后启用iSpin,导入已完成系统建模的Promela描述。
进行语法检验,Syntax Check,得到结果显示无语法错误,并且提示有用到2个ltl公式分别为e1、e2。
点击Verification,选择use claim,验证性质e1,点击run。从结果可看到State-vector 68byte,depth reached1162,errors:0,还可以在最后一行看到No errors found--did you verify all claims?由此可知e1性质满足该系统正常运行。
同理,可以验证e2。从e2的结果图中可看到Statevector 68byte,depth reached 164,errors:1,可知该性质不支持该验证系统的正常运行,并且由最后一行提示:To replay the error-trail,goto Simulate/Replay and select“run”可知已经自动生成了反例。最后可以切换到Simulate/Replay选择Guided,with trail:Elevator_protocol.pml.trail browse点击“(Re)Run”,得到反例结果路径。
由e2这一陷阱性质可以知,该性质是不满足该电梯系统的,即说明存在乘客将要去3楼,则在以后的运行状态中该电梯必须有一个状态为到达并停在3楼的情况。根据检验LTL描述的属性出现的反例路径,如图6所示。
根据反例路径结合无错误路径给出的LTL性质可知该系统的一个可用测试用例为:该乘客发出去3楼的信号,最终电梯会停留在3楼,因此得到测试用例如表1所示。
4 结语
本文提出了一种新的自动生成系统功能测试用例方法,能够自动生成较高覆盖率的测试用例集。就目前的测试用例自动生成方法而言,它还存在很大的局限性,必须作进一步研究。最迫切需要考虑如下两点:①考虑由于模型检测工具本身存在的性能问题而引起的测试用例生成的有限性;②考虑在生成反例的过程中使用去除冗余反例的算法,提高测试用例生成的性能。在未来工作中必须重点从这些方面加以考虑,使生成系统测试用例更加方便,也更加具有实用性。
参考文献
[1]单锦辉,姜瑛,孙萍.软件测试研究进展[J].北京大学学报:自然科学版,2005,41(1):134-145.
[2]肖美华,薛锦云.时态逻辑形式化描述并发系统性质[J].海军工程大学学报,2004,16(5):10-13.
[3]JOSE GARCA-FANJUL,JAVIER TUYA,CLAUDIO DE LA RIVA.Generating test cases specifications for BPEL compositions of web services using SPIN[C].In WS-MaTe 2006,2006:83-94.
[4]G J HOLZMARM.The model cheeker SPIN[J].IEEE Transactions on Soft-ware Engineering,1997,23(5):279-295.
[5]G J HOLZMARM.The SPIN model cheeker-primerand referenee manual[M].Boston:Addison-Wesley,2003.
【SPIN技术论文】推荐阅读:
技术合同:技术转让技术秘密合同07-03
技术与科学技术07-24
节能技术的技术划分09-05
蔬菜施肥管理技术技术06-01
环保技术节能技术09-15
信息技术整合电子技术09-27
质量技术监督信息技术10-08
医疗技术消毒技术规范05-31
技术革新和技术改造08-29
技术创新与技术引进06-05