自动化测试 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。生活中的自动化处处可见,比如洗衣服、工厂等。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程步步执行测试,得到实际结 果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。 我们将测试分为三个层次,分别是UI层、service层和unit层。根据每个阶段投入自动化测试比例的不同,创建如下金字塔模型进行分层自动化测试的思想描述。 三个层级投入测试的分配比: Unit层 占整个测试工作的70%,Service层占20%,UI层占10%, 在单元层作自动化测试实现成本较低,容易发现问题并解决 尤其UI层的测试很多都是站在用户的角度上去测的,元素时常发生改变,旦发现大的bug返工的代价高昂,所以应尽量将 自动化率一般在60%-80%(用例来源于手工测试用例),自动化不能完全代替手工测试,因为部分测试需要人为去判断这些自动化不能实现。 适合做自动化测试的场景: 1、任务测试明确,不会频繁变动 2、回归测试比较频繁 3、界面比较稳定 4、有大量的重复任务 5、软件的维护周期较长 6、项目进度的压力较小 7、测试人员具备较强编程能力 分布式测试(考虑硬件的性能条件不一定均分):用例分配给不同的机器。单例:单个浏览器跑,多例:多个浏览器同时跑。 Webdriver执行原理,通过解释浏览器的驱动来 Selenium的特点: 常用自动化测试工具: QTP、RF、Selenium Selenium特点: 支持众多浏览器 支持众多语言 开源、免费 支持众多平台 对web页面具有良好的支持 简单(API简单),灵活(用开发语言驱动) 支持分布式测试用例 指定版本:pip install selenium == 3.5.2 from selenium import webdriver driver = webdriver.Firefox() driver1 = webdriver.Chrome() driver.get("https://www.baidu.com/") driver1.get("https://www.baidu.com/")
|