Forum Discussion

scot1967's avatar
scot1967
Frequent Contributor
8 years ago

Bullet Proof Design Disscussion

In general I am looking at discussing methods for handling error situations and recovering so I can complete a string of tests ending with a list of tests that passed and those that failed instead of stopping the test run on any error.  I know how to enable this feature and how to control it on a per KWT and per command basis.  The problem is error and event handling.  I do a little scripting but not much.  I have not implemented any sort of event or error handling as of yet.  I am working with an application with a database backend.  In many cases if a test fails it may leave the data in an odd state which will cause subsequent tests to fail, produce false positives or crash the app. 

 

The foundation will be a good name map.  My thoughts are to get all of my objects mapped and leave the name map as close to the object map as possible.  Then I would simplify the alias map as much as possible to make my keyword tests easier to read.  Only after this point would I being writing tests.

 

I plan on implementing some new approaches on my next project.  Here's to a productive discussion! 

 

Thanks all!

  • scot1967's avatar
    scot1967
    Frequent Contributor

    I'll go ahead and get this started.  I have edited the original post a bit for clarity.  My first thought would be to learn the app as deeply as possible prior to doing anything.  This includes application structure and the process it is designed to do as well as the people that need to use it and why.  Ask lots of questions about the application to be tested. 

     

    If you have a good working relationship with the developers do your best to help them make the application as test friendly as possible.  This mainly involves ensuring objects in the program are identifiable by Test Complete.  Ensuring each object has a unique name is a good place to start.   The WPFControlAutomationId may be a good way for developers to make an application more testable.  AutomationIdProperty uniquely identifies a UI Automation element from its siblings. For more information on property identifiers related to control identification, see UI Automation Properties Overview.  (https://docs.microsoft.com/en-us/dotnet/framework/ui-automation/use-the-automationid-property)

     

    Has anyone here had experience using the automation id property with a project in TestComplete?