|
|
|
|
|
|
|
|
|
|
|
|
|
AZTAZ Software - Getting Started Guide: Testing the IP address of your Windows machine
Welcome to Getting Started with TAZ! In this first, hands-on introduction, you only need a Windows PC and a copy of TAZ to begin writing and running tests. We know the example test is very simple and you probably will never do anything this basic, but it illustrates the TAZ method. Remember, TAZ users are testing many different products and communicating over many different protocols, so a simple test that everyone can follow is a good place to start.
Step One: Connecting to the DOS Shell
We'll get started by using TAZ to connect to a DOS shell. In the real world, you will be using your own Device Under Test (DUT). TAZ uses Equipment Table data to connect with all types of equipment. Let’s use a sample equipment file to populate our table. First right click sample equipment file and choose "save as" to download to the Desktop.
Now, from TAZ, navigate to the "Connect Equipment" screen, and click the "Load" button.
A windows dialog box will open. Browse to the equipment file that was just saved.
If you’d like more information on Equipment Tables check out our Equipment Table tutorial.
|
(click for full-size) |
Click the "DOS Shell" row in your equipment table to select (it turns blue), and click the Connect / Reserve Equipment button on the upper right side of the screen to connect.
Once connected, the "Connect Equipment" light will turn green, as shown here:
Congratulations! TAZ is now connected to a DOS shell. Next, let’s write our first TAZ TestCase .
Step Two: Writing Your First Test
Our assignment is to test that a DHCP router has been assigned an IP Address in the range 192.168.0.10 to 192.169.0.127. Let’s move to the TAZ Write Tests screen to begin writing our test.
|
(click for full-size) |
The left-hand side of the screen is an equipment communication pane. This is where we can check (and record) responses from our connected equipment -- in this case DOS.
Type "ipconfig" in the text input field located in the bottom-left of the screen. When you hit enter, the command is sent to DOS and your PC's response is displayed in the equipment communication window.
To finish configuring and running your test, please follow along with this video:
As you can see in the video, information is sent to the windows DOS shell using the Send{} command, which, in this case, is:
Send{1|ipconfig|DOS((Shell))}
Then we're using the Xpect{} command to check if our IP address is present in the Return.
Our Xpect{} command looks like this: Xpect{IP Address&192.168.0.13}
Step Three: Setting a Range
So far, our test will only pass with one specific IP Address, 192.169.0.13. Let's change our Xpect{} command so it recognizes a range.
For more information on setting ranges using Xpect{}, please follow along with this video:
As you can see in the video, the Xpect{} command will recognize a range of numbers by enclosing the range in square brackets.
|
(click for full-size) |
In this case, the syntax of our Xpect{} command looks like this:
Xpect{IP Address&192.168.0.[0-127]}
With this quick update, we've changed our test functionality considerably, and any IP address we receive from our DHCP router that falls in the appropriate range will pass testing.
To run our saved TestCase , we select it on the Setup Runs screen and start the test on the Run Tests screen. We can see the results on the View Results screen.
Here is the output from our test:
Of course, there are better ways to test DHCP. Here are some things that TAZ can do:
- Change DHCP (or any) settings on any router, through CLI, SNMP, or a Web GUI
- Communicate with any equipment that has a remote interface
- Control any number of PCs or Linux boxes
- Power cycle or soft restart any equipment
- Control SONET and Data instruments, like TestCenter, Ixia, or Diversifeye and use any functionality on those instruments
- And this can all be part of a network that TAZ can test.
Where to go from here
There are many videos, documents, and manuals that may be found in this Help section that demonstrate the features and usage of TAZ. When writing your TestCases, keep in mind that TAZ is meant to duplicate your manual actions, so the best way to write a test is to write down what you do manually, then expand from there. You can also use the Manual TestStep feature from the Write Tests screen. This will document your TestCase where you can incrementally replace your manual steps with automated ones.
Thanks for checking out our Getting Started Guide! If you have any questions about TAZ syntax, or how to automate more complex tests, feel free to check out our other online videos and support.
Have a great day!
Zip links will download associated files.
+ TAZ Overview
- How TAZ Speeds Testing
Video
- How Does TAZ Test
zip
Video,
- The TAZ User ManualPDF
- TestCases - Text files or database integrationPDF
- Supported ProtocolsPDF
+ TAZ Features
Writing TestCases:
- Writing Your First Automated Test
test
Video,
- Absolute/Relative Paths - Make TestCases flexible with relative paths
test
Video,
- Etables - Capturing data
zip
Video,
- Passouts - Capturing runtime variables
test
Video,
- Subcase - Reusing TestCases
zip
Video,
- Writing and Running manual Tests
zip
Video,
Leverage Tests:
- Data Driven Testing - Variable Tables
zip
Video,
Managing Your Automation:
- Config Overview - Saving and Recalling Entire Test Setups
zip
Video,
- Configs and Equipment - The Relationship Between The Equipment Table & ConfigsPDF
- Config Execution - Running Configs from the Config Suite
zip
PDF,
Video,
- Config Editor - Equipment: Replace Settings in One or More ConfigsPDF
Working With Equipment:
- Connecting Equipment With the Equipment TablePDF
- Selenium - Getting Started: Installing SeleniumPDF
- Selenium - Introduction to Web GUI Automation
zip
PDF,
- Selenium - Retrieve Web GUI Tables
zip
PDF,
- IxNetwork - Equipment Table EntriesPDF
Tracking Results:
- Updating a Database - Storing tests in a Test Management Solution
zip
Video,
- Setting up a Database - Setting up a MySQL DatabasePDF
Viewing Results
- Reports - Creating Custom ReportsPDF
- CSV - Creating Graphs from CSV DataPDF
- Logs - The TAZ Test Log
zip
Video,
+ TAZ GUI
Setup Runs:
- TestSuite - Add TestCases
zip
Video,
- TestSuite - Features and Options
zip
Video,
- Search & Replace - Runtime Substitutions
Video
- Saving & Recalling Entire Test Setups - Create Configs
zip
Video,
Connect Equipment
- Connect Equipment - OverviewVideo
- Equipment Table - Load & Save Equipment FilesVideo
- Equipment Table - Edit with Copy & PasteVideo
- Selection Table Order Numbers - Use Order Numbers to Swap EquipmentVideo
Write Tests
- Variable Tables - Data-driven testing
zip
Video,
View Results
- Logs - The TAZ Test Log
zip
Video,
- Reports - Creating Custom ReportsPDF
- CSV - Creating Graphs from CSV DataPDF
+ TAZ Commands
- About The TAZ Command Manual
Video
- Specifying Paths - Absolute/Relative Paths
zip
Video,
- Send - Send commands to equipment
zip
Video,
- Xpect - Introduction
zip
Video,
- Xpect - Numbers and Ranges
zip
Video,
- Xpect Advanced - Xpect, XpectPO, and XpectET with XML
PDF
- Loops - Sending Repetitive Command Sequences
zip
Video,
- Subcase - Reusing TestCases
zip
Video,
- Database - Communicating with a SQL Database
zip
Video,
- Setting up a Database - Setting up a MySQL Database
PDF
- Conditional - Controlling Step Execution (If/Then/Else)
PDF
- SNMP - Installing the Net-SNMP Library
PDF
- SNMP - The SNMP Command
PDF
+ TAZ Test Solutions
- Testing Multiple Environments
zip
PDF,
A sample equipment table CSV
We Value Your Ideas
Frequently Asked Questions
We are continually improving to better meet your needs. Please contact us if you have a question; every submission will get a personal response.
Q: I have a test that I would like to automate, but I’m not sure how to start?
A: TAZ is designed to duplicate your manual actions. So start by writing down what you do manually. Break it into steps, usually some action followed by an expected outcome. The TAZ Write Tests screen has the Add Manual TestStep button for this. After you save the TestCase you can run it manually and then incrementally convert manual steps to automated. For more info, see our Manual TestCase video.
Q: I wrote my test down, now what about the equipment I use?
A: Once your test is written down, note the different equipment that you used, physical and virtual. This may be one or more DUTs, test equipment, or even a DOS shell. You will enter connection information for this equipment in the Equipment Table on the TAZ Connect Equipment screen.
The required connection information for each type of equipment is in the TAZ Command Manual. But, the easiest way is to start with a colleague's Equipment Table and modify it for your use. You can also download the TAZ Sample Equipment file in the TAZ Help section. Look first for the protocol that you use (e.g. Telnet) and then modify the IP Address, Login, etc. There are several tutorials that show how to work with equipment here:
Q: I don't understand how to change my manual test steps to automated?
A: First, make sure that the manual test steps are broken into to small actions. You could (incorrectly) have a TestCase with one TestStep :
Step 1=
- Action: Test the DUT
- Expected: It passes.
This isn’t very helpful. What you want are steps like:
Step 1=
- Action: Send Show Version command to the DUT
- Expected: The DUT returns text that includes, "version 1.2.3"
To send a command to a DUT you will use the Send{…} command. When you evaluate the output you will use Xpect{…} . Check our Send{…} command video for more details.
Q: Where can I find more details on TAZ commands?
A: The TAZ Command Manual is part of the TAZ installation, located in the TAZ directory. From your TestCase you can also double-click a command and TAZ will open the Command Manual to that command. If you double-click an empty line, TAZ will open the Command Manual to the Table of Contents.
Q: Can I capture a runtime value in one TestStep and use it in a later TestStep?
A: Yes. With PassOut commands, you can capture, modify, and use runtime values. The PassOutBetween{…} command can be used to capture a value and place it in the TAZ PassOut Table . PassOut values can then be referenced using the PO[ ] syntax, similar to referencing values inside an array. See the TAZ Command Manual for usage of the many PassOut{…} commands.
Q: What about my legacy tests that are written as TCL scripts?
A: TAZ can run scripts in many programming languages, including TCL. You reference the TCL file with the Script{…} command. Any output will become part of the TAZ Return where other TAZ commands like Xpect{…} can be used.
Q: What about Data Driven testing? I want to pass testing parameters into my test.
A: Yes. You can use the TAZ Variable Table to pass in values. See the TAZ User Manual. (PDF)
Q: Can I modify parts of my TestCase at runtime?
A: Yes. This is done with a Search and Replace Table from TAZ Setup Runs >> Substitutions.
Q: My tests need to run in many different scenarios. Can TAZ do this?
A: Yes. Using Variable Tables this can easily be done. See the tutorial on MultiEnvironment Testing. (PDF)
Q: I need to run the same group of tests with the same equipment in the middle of the night. Is there a simple way to recall and run the entire testing setup?
A: Yes. In TAZ an entire testing setup is called a Config . Configs can be saved and scheduled to run in many different ways. You can also make many runtime changes. See the TAZ User Manual. (PDF)
Q: A colleague in a different department has tests that I would like to run. We have the same equipment topography. How can I run them on my equipment with different IP addresses, etc.?
A: There are several ways. In TAZ we call this portability. Often it is as simple as just selecting your equipment from your Equipment Table . You can also use a Search and Replace Table , or have your colleague create a Config which you can run substituting your equipment.
Q: I need to run the same command many times. Do I have to write it out many times?
A: No. If it is exactly the same command, use Send{…} , with ArgH to set the number of times. With Send{…} you can also send until you see a specified result come back. Look at Loop{…} if the command is modified each time it is sent.
Q: How do I send a command multiple times, incrementing parameters on each iteration.
A: Use the Loop{…} command to repeat one or more commands. You may increment by decimal, hex, MAC addresses, IP Addresses, even lists of strings. Loops may be nested to 99 deep.
Q: I have the same group of commands for provisioning that I use in different TestCases. I don’t want to type them over and over again. Is there an easy way to manage this?
A: Yes. It is best practice to put them in their own TestCase and which can be called with SubCase{…} . Not only is it more convenient, but should you need to make changes you only need to do it in one place.
Q: How do I execute commands only if a previous step fails?
A: Here are two ways:
The Conditional{…} command. “Failure of a step” is one of many conditions that when met will trigger an action. There are many actions, including skipping and running one or more TestSteps .
Send{…} has an If/Then/Else parameter in ArgB , called "Execute?" , which will send the command or not based on parameters that you specify. See the TAZ Command Manual for details. (PDF)
Q: What about stress tests, unit tests, functional tests, regression?
A: Yes, TAZ can do it all. Unlike other testing applications that are designed for a specific type of testing, TAZ is designed to duplicate the actions of a manual tester. If your manual actions can accomplish a type of testing, then TAZ can do it. Plus, TAZ will augment manual commands with constructs like Loops, Conditionals, and SubCases that are still presented as commands.
For regression testing TAZ has many built-in features, like Configs that make regression very easy to handle and maintain.
Q: Can TAZ test any software application?
A: It depends. TAZ needs a way to communicate with the software. This could be done with a remote interface, an API, instruments, other scripts, etc. As long as TAZ can communicate, it can test.
Q: Can TAZ test web GUIs?
A: TAZ uses Selenium to control and test web GUIs. Anything you can do with Selenium, TAZ can do.
Q: How can I connect multiple pieces of equipment in the Equipment Table?
A: Multiple pieces of equipment can be selected with Shift-click to select a range of equipment and Ctrl-click to select equipment individually.
Q: Is there an easy way to enter a list of commands in a TestCase?
A: Yes. If you have a list of commands in a text document, one per line, you can use the Import button on the WRITE TESTS screen. TAZ will enter these in the current TestCase at the cursor location and direct the commands to the selected piece of connected equipment.
Q: How can I leave remarks in my TestCase?
A: Any text that is outside of TAZ commands is a remark. In the TestCase Editor these will be colored black. To remark out a command, begin the line with the "#" symbol.
Q: What’s the best way to search for failures in a log?
A: There are several ways to navigate through log files on the VIEW RESULTS >> VIEW LOGS screen. All the failures in a log will be listed at the beginning in the Pass/Fail summary. Double-click on any one of these lines and TAZ will take you to that step in the log.
You can also search for a particular string, navigate from failed step to failed step, or use the arrows to view each step sequentially.
Q: Does TAZ support regular expressions?
A: Yes. Many TAZ commands have a version that support regular expressions, for instance, PassOutReg{...} and XpectReg{...} are intended for regular expressions. A backslash (\) is used to unreserve a reserved character inside a regular expression when needed.
Q: What is the syntax for a Manual Test Step?
A: Manual TestSteps may not have any TAZ commands in them, and include three sections: Action, Expected and Image (optional). These sections are created for you when you click Add Manual TestStep on the WRITE TESTS screen.
Manual TestSteps create a popup dialog when you run the TestCase , prompting you to complete the action, and providing means to evaluate as Pass or Fail. If the optional Image field points to an image file, that image will appear at runtime. This is useful, for example, in situations where the operator needs to look at the DUT and check the status of LEDs. Manual steps and automated steps may be combined in the same TestCase.
Q: When I am writing a TestCase, what is the best way to capture the responses from my equipment?
A: To the left of the TestCase Editor on the WRITE TESTS screen is the Equipment Communication client. From here you can communicate with all your connected equipment and send commands and capture responses directly into a TestCase . See this video for more details. [Video]
Q: Can TAZ run tests on relational databases?
A: Yes, TAZ uses the DB{...} command to send SQL to many types of databases. TAZ uses an ODBC connection to make the initial database connection from the Equipment Table . Please see the command manual and this video for more information.
Q: I have a TestCase that fails. How can I debug it?
A: There are many debugging features in TAZ. On the RUN TESTS>>STEP EXECUTION screen:
- Pause on Failure
- Pause after specified steps
- Skip specified steps
When paused, you can communicate directly with your equipment in real time from RUN TESTS>>COMMUNICATE.
From RUN TESTS>>SET CONDITIONS you can:
- Pause if specified text is returned
- Send emails
- Launch scripts written in other languages
Can Boolean Operators be used to evaluate responses?
A: Yes. Taz uses the following syntax for Boolean operators:
For example: Xpect{abc^def} will pass if either 'abc' or 'def' is found in the equipment response. Xpect{…} has many other ways to evaluate responses.
Does TAZ have a way to expect that a number to fall within a range in a response?
A: Ranges can be used in an Xpect{...} command by putting the range in square brackets. For example: Xpect{Vlan[112-163]} will pass with the string "Vlan" prefixing any number in that range. Individual numbers can also be added using commas, such as: Xpect{Vlan[1,2,5,7,112-163]}
Q: What is the difference between a PassOut Table and an ETable?
A: A PassOut Table is one-dimensional, while ETables are two-dimensional, like an Excel spreadsheet. ETables contain not only rows and columns, but also pages, like worksheets in Excel. Another difference is that ETables can collect and use values between TestCases and even TestRuns , whereas PassOuts live only for the duration of a TestCase . Values can easily be passed back and forth between PassOut Tables and ETables . PassOut Tables have more features to capture and work with data, where ETables are designed to store data.
Q: If the authentication information in my device changes, how do I update it in TAZ?
A: Logins and passwords that are used to connect to a device are stored in the Equipment Table . The Equipment Table can be updated and saved to a file on the CONNECT EQUIPMENT screen.
Q: What’s the difference between the Equipment Table and an Equipment Table file?
A: The Equipment Table is a table within TAZ that holds connection information. TAZ uses the information from this table to connect and communicate with all equipment. The information may be entered directly in the Equipment Table before each run (very inconvenient) or a file may be loaded to populate the table. The file itself is not the Equipment Table ; it is only a convenience to populate the Equipment Table . So for example, when a Config is saved it saves the contents of the Equipment Table and the file used to populate it is irrelevant.
Q: Can I setup notification with information about whether a test passed or failed?
A: Email notifications are can be set in RUN TESTS >> SET CONDITIONS . There are many options that allow you to administer exactly when and how you are notified about test results.
Q: How can I save all of my current testing settings for later use?
A: The "Save Config" button on the Setup Runs screen will save your settings from all screens in TAZ in a .cfg file that can be recalled for later use.
|
|
|
|
|
|
|
|
|
|
|
|
|