`
ruilin215
  • 浏览: 1160830 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

自动化测试框架: 用原型编写用例?

阅读更多
最近在考虑自动化测试框架的时候,发现原来的想法,虽然解决了定位及访问控件的困难。但是,用例代码却因此对程序实现细节有了很强的依赖。这些依赖可能对用例代码的开发带来一些困惑。
在思考解决这个问题的时候,自然的方案,就是提供统一地访问控件的方式,而不是原来那种直接生成对象的方式(参考自动化测试框架:测试编程框架)。这种访问控件的方式,就好比访问网页一样,输入一个URL,就可以得到想要的控件。以此为基础,编程过程中的代码中虽然增加了对URL的输入,但是却因此去除了用例代码对软件实现的具体依赖。以后就算实现代码变了,也基本不影响用例代码。
对比一下以往的对控件的定位方式,往往通过控件的隐含属性:包括TextClassName,Index,ID等等。但获取这些属性的前提是使用工具去查看!这种方式的一个显然的缺点是,这样的代码,可读性是比较差的,而且和控件的绑定将变得更加紧密!
分析了这些情况,选定了方案。那么,问题就剩下如何描述控件。
描述的首先是元素选择。在选择的过程中,我将可选择的元素约束在那些可以从界面上观察到的属性。经过分析,得到下面这些元素的列表:
1. 控件本身的标题性文本。一些不含标题性文本的控件,可以通过提取一些内容信息,作为标志。
2. 控件之间的相对位置。左右上下、父子关系。针对某些控件,特别是常用的文本编辑框、网格控件、ListViewTreeView等等都是没有标题的。所以定位这些控件才是描述中最难把握的地方。在这个问题上,重点考虑的是利用那些可以描述的控件,加上位置的判断,共同定位这些控件。
3. 控件标准类型(非ClassName)。我们可以给各种控件进行归类,这样,在编写脚本的时候,根据这些类型去定位控件,就比较容易了。特别是那种同类型只有一个的控件,就可以直接用类型定位了。
4. 控件显示顺序(从左到右,从上到下)
基于这些描述元素,基本上我们可以完成对所有控件的描述。
回过头来想一下,如果实现了这点(假定可以实现),那么我们会发现,我们其实可以针对软件的原型进行编写测试用例。这是可以理解的,因为原型和软件,相同功能的控件都是同一类型的,这对我们用例的编写,无疑提供了统一的平台!只要利用好这个平台,工作效果不可限量啊。
只不过这时候的校验代码都是失败的,但这不是正符合了测试驱动开发的精神了嘛?但不可否认,这是一个非常棒的想法!
最后,有关自动化测试方面的思考,是一个慢慢细化的过程。在这方面的探索,我们还会继续下去!
分享到:
评论

相关推荐

    autoSweet_tallhbc_小而美的自动化测试框架_

    《深入解析autoSweet_tallhbc:打造小而美的自动化测试框架》 在现代软件开发过程中,自动化测试已经成为不可或缺的一部分,它能显著提高测试效率,减少人为错误,并确保产品的稳定性和可靠性。本文将深入探讨...

    QTP自动化测试进阶

    - **手工测试的价值**:虽然自动化测试能够提高效率和减少重复劳动,但手工测试在测试用例设计、界面和用户体验测试以及正确性检查等方面仍然不可替代。 以上内容全面阐述了“QTP自动化测试进阶”的主要知识点,...

    UnitTest_测试代码框架_

    在软件开发过程中,...`UT_UTEntry.c` 和 `UT_UTEntry.h` 的存在表明该框架提供了一种结构化的入口点,便于管理和运行针对不同模块的测试用例。理解并熟练运用这样的框架,对于任何软件开发团队来说都是至关重要的。

    Eclipse插件开发-测试用例自动生成工具.zip

    Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与ORM工具: 数据库客户端工具用于连接、查询、更新数据库,ORM(对象关系映射)工具简化了数据...

    selenium自动化测试

    它允许测试人员编写可运行在多种浏览器和操作系统上的脚本,从而实现跨平台、跨浏览器的自动化测试。Selenium 支持多种编程语言,如Java、Python、C#、Ruby等,为开发者提供了极大的灵活性。 **1. Selenium 的核心...

    selenium自动化测试工具

    尽管IDE主要用于快速原型和简单的测试,但它在自动化测试的早期阶段非常有用。 2. Selenium Remote Control (RC): Selenium Remote Control 是一个服务器端组件,允许通过编程语言来控制浏览器的行为。它支持多种...

    自动化软件测试前期准备工作.pdf

    然而,可以提前进行一些准备工作,比如评估测试工具的适用性,基于界面原型进行初步的自动化尝试。 - **资源分配**:自动化测试需要投入足够的时间和资源,包括计划、设计、脚本开发和调试。 - **测试脚本规范**:...

    software test automation effective use of test execution 自动化测试

    常见的自动化测试工具有Selenium用于Web应用测试,Appium针对移动应用,JUnit和TestNG是Java环境下的单元测试框架,还有JMeter用于性能测试。选择合适的工具能有效提升测试效率,同时降低学习和维护的成本。 实施...

    自动化测试 -Selenium IDE的插件-chrome

    Selenium 是一个广泛使用的开源自动化测试框架,支持多种浏览器和编程语言。Selenium IDE(集成开发环境)是Selenium工具集的一部分,专为录制、回放和调试Web应用程序的测试而设计。 Selenium IDE 是一个浏览器...

    1+X软件测试中级考试备考

    - **编写并执行自动化测试脚本**:使用Selenium等工具编写自动化脚本,并执行测试。 - **自动化测试浏览器基本操作**:包括打开网页、点击按钮等。 - **页面元素识别与定位**:使用XPath或CSS选择器定位页面元素。 -...

    自动化技术在电子信息工程设计中的应用研究 (5).rar

    2. 自动化测试框架:如JUnit、Selenium等,支持编写和执行自动化测试用例,确保软件质量。 3. 持续集成/持续部署(CI/CD):通过自动化脚本实现代码构建、测试和部署,缩短产品迭代周期,降低出错风险。 四、自动...

    测试驱动开发 测试驱动开发 测试驱动开发 测试驱动开发

    - **使用自动化测试框架**:如JUnit(Java)、pytest(Python)或MSTest(.NET),这些工具简化了测试用例的编写和执行。 - **保持测试粒度小**:每个测试用例应专注于一个独立的功能点,避免过多依赖。 - **隔离...

    Selenium自动化测试工具(1)

    5. **编写测试框架**:使用导出的脚本构建自动化测试框架,可能需要引入测试库如JUnit(Java)或unittest(Python)。 6. **运行测试**:在你的测试环境中执行测试脚本,验证Web应用的功能和性能。 7. **持续集成**...

    python+selenium自动化测试.docx

    Python中常用的单元测试框架unittest可以与Selenium结合使用,编写自动化测试脚本。以下是一个简单的示例: ```python from selenium import webdriver import unittest class TestLogin(unittest.TestCase): ...

    自动化功能测试 selenium

    4. **编写测试脚本**:基于Selenium RC或WebDriver模式,使用Java语言结合JUnit框架编写自动化测试代码。这些代码应该能够覆盖所有的功能测试点。 5. **执行测试**:启动Selenium Server,运行编写的测试脚本。观察...

    使用AppiumBooster打造心目中理想的自动化测试框架

    做过自动化测试的人应该都会有这样一种体会,要写个自动化demo测试用例很容易,但是要真正将自动化测试落地,对成百上千的自动化测试用例实现较好的可复用性和可维护性就很难了 做过自动化测试的人应该都会有这样一...

    Web测试:Selenium使用

    Selenium 是一个广泛使用的开源自动化测试框架,主要针对Web应用程序。它由ThoughtWorks公司开发,提供了一套强大的工具集,支持多种编程语言,包括Java、C#、Python等,使得测试人员和开发人员能够编写自动化测试脚...

Global site tag (gtag.js) - Google Analytics