用RF来自动化测试你的系统 - 前言
版权声明:博主原创,转载请注明原作者及出处。
背景介绍
Nokia在大家的印象中是不是已经淡忘了呀?其实也正常,自从Nokia手机业务失利以来就慢慢的淡出公众视线。但是她一直都在默默的努力,专心致志耕耘电信设备市场,为全球移动运营商提供设备和服务。目前市场份额是仅次于华为的第二大电信设备商。 扯远了:),回归正题,大家也许知道Robot Framework最初是Nokia 网络部门设计开发的,那时手机部门还是如日中天,网络部门就是负责电信设备这块。为了适应当时的敏捷开发,测试需要做回归和持续集成,自动化需求变得很迫切。Robot 在那时便应运而生并得到大家的一致喜爱,后推广至全公司乃至现在开源到全社区。在国外各大软件厂商也得到广泛应用,但是在国内貌似知道和使用的人并不是很多, 这跟国内大多数中小企业不太重视测试有关吧,尤其是从开发到打包到集成到测试到发布全自动的一体化流水线不是每个企业都愿意投入人力物力。
自动化测试发展史
自动化测试,顾名思义是指软件测试的自动化。是把以人力驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。自动化经历了下面一些阶段:
一、记录回放。记录回放的方式流行于商业工具之中,无需编程技能即可快速上手。然而这种方法相对脆弱,一旦被测试对象发生变化测试就会受到影响,分散的脚本不可重用且难以维护,而且系统在测试前必须可用,这也就意味着无法使用验收测试驱动(ATDD)的开发方法。因此这种方法并不适合大型自动化测试。
二、线性脚本。线性脚本允许使用各种语言来编写非结构化脚本,脚本直接与被测系统交互。能够快速上手,灵活性强。但是编写脚本需要编程技能,测试脚本本身的质量也没有别的测试系统保证。被测系统中一个改动通常会影响多个脚本,没有经过模块化或重用的大量脚本难以维护。因此这种方法适合简单任务,不适合大型