Thursday, March 29, 2007
« AFTER is released!! | Main | Email Response Etiquette »

It's only been a week but a new release for AFTER is already out. I didn't plan on putting a new release out this soon but I had refactored the engine so much that I felt it was a good idea to get the new version out there so people could take advantage of all the new changes. Here is the excerpt from the change log file that lists all the changes that are contained in the new release.

  • Refactored TestEngineCore.rb into several new objects to make engine more object oriented.
  • Created TestEngine class as singleton that handles all things pertaining to the engine itself.
    (i.e load config file, initialize logger, store reference for results manager, determine script reader type)
  • Created Script Runner class that is responsible for loading the scripts and then reading every test step.
  • Created TestStepRunner class that handles running the current test step and retaining the results for the ScriptRunner to handle.
  • Created TestStep class which holds the information for the current test step.
  • Created config file for use with the engine and for defining information needed by log4r.
  • More extensively integrated log4r in engine.
  • Created EngineLogger class that is used to handle multiple loggers and custom levels. It serves as a proxy class between the engine and log4r.
  • Created base ScriptReader class so that the scripts can be written in other formats and can be read by creating a ScriptReader.
  • Created XmlScriptReader to handle current test scripts.
  • Changed tests and test node in scripts to be teststeps and teststep respectively.
  • Changed component library starter files to be a class rather than a module. Also added GetObjectReference to class so that I can return the reference and store it in the test engine class.

The few that will be especially important over time will be the creation of a base ScriptReader class. That will allow AFTER to now have different script readers such as XML (which exists already), Microsoft Excel, CSV, YAML, really even as I write this I relize for myself that it could even connect with a database and pull down a set of test scripts and then iterate over them one by one. Also having the engine in it's current state will allow for me to now add better unit tests as the engine is now in a more object oriented state instead of a few giant methods.

When any of you get a chance I encourage you as before. Download it. Snoop around. Let me know where it can be improved? What is missing? What features would you like to see in it?

Let me just say thanks ahead of time for any time that you can spend letting me know how it can improve.