About
What is Structured Log Testing?
Its an approach to testing software applications. The Structured Log Testing approach to testing makes use of structured log statements and visually advanced/dynamic tools. The structured log statements contain test points that a tool takes and puts together in to a Structured Log File (.slf) that can be used as a test script or simply be a log file. The Structured Log Testing approach allows for an easy to learn and flexible method of implementing test driven development (TDD).
Testing in general is made up of executing code and making assertions on that execution. The execution of code can be done in little chunks, as sub-systems, or full blown production running code. The assertions part is the interesting part because of the different approaches to defining and capturing assertions. Even UnitTest’s are executing code and asserting the output. Or take functional testing with the automation framework, it is executing code and asserting UI interaction through the use of automation hook’s both on the Client QA side and the automation framework side (ie: QTP or Silk). The Structured Log Testing approach builds on this idea of creating structured usable assertion points while building code that can be used both in rapid development and production code, where flexibility is key.
Structured Log Testing is more about its flexibility then what it is or not. It allows for flexibility on the assertion logic creation side as well as creating TestDriver application to run tests.
What programming languages support Structured Log Testing?
The project was created around testing applications for the Flash platform (Flex, AIR, ActionScript). The Structured Log File (.slf) format uses standard JSON data modeling that can be used by any programming language. The SDK is current ActionScript/Flex but the testing approach is not limited to these languages.
Glossary and Terms used by Structured Log Testing:
SLog - Logging classed used in code to send structured log statements.
TestPoint - A data structure defined by an identifier and value pair data points used by Structured Log Testing. The data structure makes up the critical parts of code and applications that are used for testing.
What does the Structured Log Testing approach entail? (Detail Info Here)
- Defining a TestPoint.
- Sending SLog statements.
- Capturing SLog statements.
- Creating a test script with visual tools.
- Creating test drivers.
- Automating test drivers and test scripts.
- Customizing tools for specific applications based on TestPoint data.
What are some strong points of Structured Log Testing?
- Create TestPoints while building classes. No going back and forth between test and implementation classes. Cuts down on a chunk of refactoring if you are following TDD.
- Creating TestPoint while building classes helps you focus on the class implementation issues.
- TestPoints are test hooks so test scripts can be easily modified by visual tools.
- Test drivers are typically applications not specific test code that can be written by more people on the team.
- The log statements can be gathered and sent remotely from end users. This data dump then can be turned into a test script as well as for debugging. Much better ability to improve quality of the code/application.
- Flexibility to involve more people then the developer in the testing process. This is done by visual tools, test driver simplicity, end user data dumps, etc…