• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            開源之路

            憶往昔, 項(xiàng)羽不過江. 江東好風(fēng)光! 今振臂一呼,率甲三千, 試問天!
            posts - 86, comments - 55, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            Open Testware Reviews

            Posted on 2007-12-24 14:58 江邊之鳥 閱讀(526) 評(píng)論(0)  編輯 收藏 引用 所屬分類: python
            Copyright 2003 by Tejas Software Consulting - All rights reserved.

            Reviewed: 2003-May-30
            Testingfaqs.org category: GUI Test Drivers

            Testingfaqs.org gets a big boost for freeware GUI test tools this month. Seventeen freeware tools are now listed on the GUI Test Drivers list, rather than just the three we had before (Android, Jemmy, and Test Now).

            Scope

            GUI test tools are primarily functional test harnesses, like those on the “Test Drivers and Test Suite Management Tools” list, except that they specialize in automating a graphical user interface (GUI). Some GUI tools rely on other harnesses like JUnit, and focus on providing the mechanisms for faking mouse and keyboard input, similar to the way the commercial WinRunner tool interfaces with TestDirector.

            About GUI testing

            There has long been a dialog within the testing community about the difficulties of GUI test automation. Early GUI test tools were all “analog,” which means that they record mouse movements using X-Y screen coordinates (which are measured digitally, but let’s not pick nits :-) like those you used in school when you studied geometry. Analog capture and replay of test scripts is a very poor GUI test automation technique. They require a tremendous amount of maintenance every time the GUI design of the application under test changes, and in fact all of the test scripts may need to be recreated from scratch when then is a very minor change to the GUI. Analog scripts may also be sensitive to changes in screen resolution, color depth, and even where the window is placed on the screen. In most situations, it’s better not to automate your GUI tests at all if your only choice is an analog tool.

            Any modern GUI test tool worth its salt is “object-based,” which means it can recognize many of the controls in a graphical application, like buttons, menus, and text input widgets, and can refer to them symbolically rather than with raw screen coordinates. This technique is much more resilient to changes in the GUI design, screen resolution, etc., though of course the tests will still need changes if a GUI control is added or deleted outright. A common limitation of an object-based tool is that it may have trouble automatically recognizing all of the controls in the application, especially if the developers use custom-developed controls or a toolkit that the tool isn’t trained to understand. Object-based tools typically can also use analog-style screen coordinates if necessary.

            One way to reduce the maintenance of a test case with analog-style scripting is to create a library that isolates all screen coordinate references to low-level functions. If the test cases only use these functions and never refer directly to screen coordinates, then when (not if) the application changes, most of the maintenance will be isolated to the test library. Still, that might represent significant effort. It may only be feasible to automate a small smoke test that’s executed very frequently, rather than a large swath of functional tests.

            There are some additional tool features that can further reduce test maintenance. One is “data-driven” testing. If you want to run the same test code repeatedly with only the test data varying from one run to the next, you can specify the data separately and have the script loop through each data value one at a time. Several commercial tools support this.

            A more ambitious idea is “keyword-driven” testing. This involves specifying test data as with data-driven testing, but also uses pre-defined keywords to define actions for a test case to take. The keywords represent a very simple specification language that non-programmers may be able to use to directly develop automated tests. You still need automation engineers to implement the things that the keywords do, and with that comes all the usual issues of GUI automation. I know of two commercial tools that support keyword-driven testing - Certify from Worksoft, and the ABT Toolset (contact Hans Buwalda for a fact sheet). Hans also writes about this topic in his book?Integrated Test Design and Automation: Using the Test Frame Method.

            Comments on what you’ll find here

            Approach freeware GUI tools with caution. Looking at the documentation, it’s very difficult to tell which of them support object-based automation. Building an analog GUI test tool is much easier than building an object-based tool, so I suspect that most of these tools are not object-aware.

            Several of the tools are specific to Microsoft Windows - the documentation usually does not specify which Windows releases are supported. There are two here that are specific to one or more Unix variant. And there’s the large subset of Java-based tools that presumably run across many platforms, but probably only for applications written in Java.

            There are two freeware keyword-driven frameworks - EMOS Framework and SAFS, both only supported on Windows. Like their commercial counterparts, they are designed as wrappers on top of a limited selection of commercial test tools and can’t easily stand on their own. You might hear about a data-driven tool called Robot DDE — it has now been incorporated into SAFS.

            Test Now is a library designed as an aid for another commercial test tool, Visual Test, though only for an outdated version of it. You can find a motley collection of other freeware code snippets for commercial GUI tools at the QA Downloads site.

            A few tools have a graphical interface themselves, but most are implemented as libraries. Some can capture test scripts when you use the application under test, and the others require you to develop test scripts from scratch. A few of the Windows libraries are DLL’s that can be used from many different languages. Several of the libraries are designed only for one language.

            And now, the list?

            Tool Platforms Notes
            Abbot Java GUI test library, with apparently some object-based recording capabilities
            Android Unix Tcl/Tk extension for X11 testing, seems to be analog-only
            AutoIt Windows Scripting language for analog GUI automation, also available as an ActiveX control and a DLL
            EMOS Framework Windows Keyword-driven test framework for WinRunner, test cases are stored in spreadsheets
            Jacareto Java Capture/replay tool.
            Jemmy Java GUI test library for Java Swing/AWT
            jfcUnit Java JUnit extension for testing Java Swing applications, with event recording
            Marathon Java Python library for testing Java Swing applications
            Perl Win32::GuiTest Windows GUI test library for Perl on Windows
            Perl X11::GUITest Linux/FreeBSD GUI test library for Perl on X11
            Phantom Windows GUI scripting language, newer tools based on Phantom are available commercially
            Pounder Java Capture/replay tool
            Ruby Win32::GuiTest Windows The beginnings of a port of Perl’s Win32::GuiTest to Ruby
            SAFS (Software Automation Framework Support) Windows Keyword-driven test framework for Rational Robot and WinRunner.
            Test Now Windows Add-on library for Visual Test 4.0.
            Tester Windows GUI test DLL with analog capture/replay
            TRecorder unknown A capture/replay tool implemented in Delphi
            久久无码AV一区二区三区| 国产精品日韩深夜福利久久 | 亚洲精品久久久www| 亚洲国产综合久久天堂 | 亚洲色欲久久久综合网| 色狠狠久久AV五月综合| 99久久精品免费看国产一区二区三区| 久久久人妻精品无码一区| 久久久久久久亚洲Av无码| 久久婷婷人人澡人人| 国产三级久久久精品麻豆三级| 久久精品国产亚洲5555| 亚洲中文字幕无码久久精品1| 国产A级毛片久久久精品毛片| 亚洲精品乱码久久久久久蜜桃不卡| 久久久精品免费国产四虎| 无码AV波多野结衣久久| 亚洲精品综合久久| 狠狠人妻久久久久久综合| 国产亚洲欧美精品久久久 | 一本大道加勒比久久综合| 久久综合88熟人妻| 日产精品99久久久久久| 久久天天躁狠狠躁夜夜不卡| 久久国产香蕉一区精品| 亚洲伊人久久大香线蕉苏妲己| 97久久久久人妻精品专区| 99精品久久久久久久婷婷| 国产精品女同一区二区久久| 青青草国产精品久久久久| 久久精品国产亚洲av影院| 亚洲乱码中文字幕久久孕妇黑人| 久久国产亚洲精品| 久久久久久国产a免费观看黄色大片 | 国产精品久久久久jk制服| 久久久一本精品99久久精品88| 亚洲色大成网站www久久九| 亚洲AV日韩精品久久久久| 三级三级久久三级久久 | 国产精品99久久久久久宅男| 国产激情久久久久影院|