【测试模型】我所知道的自动化测试模型

    这一篇我的偶像Jackei 致敬:

  (关于偶像的问题,发表一下自己的看法,我觉得每个人都应该有“偶像”,偶像是标杆和奋斗目标。关于有些人拿比尔盖茨 和 自己当偶像的,要么活在梦里,要么活在自己的世界,我只能 呵呵 了。)

  其实,从刚开始做测试就有学习自动化(基于UI 的web自动动化测试),理解上一直处于非常皮毛的状态。再次的深入学习并实践自动化大概从半年前开始。边学习边总结是我的一贯学习方式。

  《我所知道的软件测试自动化》- 关键字驱动的过去和未来

  Jackei 的这篇文章我了好几遍,虽然将的内容并不高深,但随着自己自动化水平的提高,每次看完也会一新体会。基于这篇文章,扩展的来谈一下自己对几种自动化测试模型的理解。

  线性测试

  通过录制或编写脚本,一个脚本完成用户一套完整的操作,通过对脚本的回放来进行自动化测试。

  这是早期进行自动化测试的一种形式。

  脚本一

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get("http://passport.cnblogs.com/login.aspx?ReturnUrl=http://www.cnblogs.com/fnng/admin/EditPosts.aspx")

driver.find_element_by_id("tbUserName").send_keys("admin")

driver.find_element_by_id("tbPassword").send_keys("123456")

driver.find_element_by_id("btnLogin").click()

......

driver.quit ()

  脚本二

from selenium import webdriver

import time

driver = webdriver.Firefox()

driver.get("http://passport.cnblogs.com/login.aspx?ReturnUrl=http://www.cnblogs.com/fnng/admin/EditPosts.aspx")

driver.find_element_by_id("tbUserName").send_keys("user")

driver.find_element_by_id("tbPassword").send_keys("456123")

driver.find_element_by_id("btnLogin").click()

......

driver.quit ()

  通过上面的两个脚本,我们很明显的发现它的问题:

  一个用例对应一个脚本,假如界面发生变化,用户名的属性发生改变,不得不需要对每一个脚本进行修改,测试用例形成一种规模,我们可能将大量的工作用于脚本的维护,从而失去自动化的意义。

.......

相关文章
相关标签/搜索