User:KeithTyler/Foo

=TCW FAQ/Walkthrough=

What do I need to run TCW?
TCW is a "LAMP" application (Linux-Apache-MySQL-PHP) and requires Apache, PHP 4.4 or greater, and MySQL 4.1 or greater.

How do I install TCW?

 * Uncompress the package into a subdirectory of your webserver document root. This will install the software. Your webserver root might be /www/htdocs, but it might be something else, so make sure you pick the right directory. The package will create a directory called "tcw".

cd /www/htdocs tar -xzf tcw.X.X.X.tar.gz
 * To install the DB portion, you must create a database to hold the TCW data.

mysql -e "create database tcwdb"

where "tcwdb" is the name you give the TCW database.


 * Create a MySQL user that the TCW software can use to access this database.

mysql -e "grant select,update,insert,delete on tcwdb.* to 'tcwuser'@'localhost' identified by 'password'"

where "tcwdb" is the name of the TCW database and "tcwuser" is the name of the user that the TCW web software will use, and "password" is a password you pick for that user. If you put the TCW and the MySQL server on different computers, you will have to change "localhost" to the name of the computer where the TCW software will run. This is not recommended.


 * You will find a file in the package named tcw.schema. Use this file to install the TCW schema into this database:

mysql tcwdb < tcw.schema

where tcwdb should be the name of the MySQL database you created.


 * Go to the directory where you installed the TCW software, and edit the file incluido.fil. In the top section you see DBTYPE, DBNAME, etc. You should change DBNAME to the name of the database you created (like "tcwdb"), DBUSER to the MySQL user you created for the software to use (like "tcwuser"), and DBPASS to the MySQL password for that user (like "password"). You should keep DBHOST to "localhost" unless your MySQL server and Apache server will be on different computers, which is not recommended.
 * Go to your web server and go to http://webserver/tcw. You should see the TCW login page. Log in with user name "Admin" and password "admin".

Where is the administration manual?

 * Go to Documentation and view the Administrator's Guide for documentation on many of the below features.

2.2 How do I add users?

 * Go to the Administration page from the link at the top. You will see a set of administration boxes. Most of these will be empty until you start using the system.
 * In the "Testers" section, there is a listbox, textbox, and three buttons for Create/Rename/Delete. Enter the name of the tester you want to add into the textbox. This name will be what the person uses for login name, and also how their name will be shown in TCW. When a new user is created their password is "password". They should login to TCW to change their password. You should add yourself as a user and consider removing the admin user (do this later).

What is an administrator?

 * A tester user that is also an Administrator can use the Administration screen to create and delete projects, versions, categories, new users, reset passwords, etc. The Admin user has this ability. You should make an account for yourself and give it administrator rights, then delete the Admin user or at least change its password.

How do I give administrator rights to another user?

 * If you are a TCW administrator, you can also make other users TCW administrators. In the "Admin" section of the administration screen, you will see a list of all users. Select the user, then select the "Admin" radio button, then click Set Access. This will grant administrator power to that user.
 * To remove administrator power from a user, select their name, choose the "Normal" radio button, and click Set Access.

What happens if a user forgets their password?

 * If a user forgets their password, they need to tell the TCW administrator. The TCW admin should then go to the Administration screen and go to the "Password reset" section. Select the user from the list and then click Reset Password. This will reset the user's password to the word "password". The forgetful user should then immediately log in and change their password.

How do I create projects?

 * On the Administration screen, in the Projects section, enter the name of the project in the textbox and click Create.
 * Your project will not work right for test execution reporting until you have entered at least one version. You can still create test cases and perform project-level controls, but test execution reporting requires versions. To add a version, see next question.

How do I add versions?

 * On the Administration screen, in the Versions section, you will see the names of all entered projects as "headers", i.e. with a dash and space on either side of them. Underneath each project "header" in this box are the versions for that project.
 * To create a version, you first select the project header in the versions box. Then, in the textbox, enter a name for the version (such as "1.0.0" or "v0.1"). Click Create. This will create the new version under the project.

So where are the project pages?

 * Go back to the main TCW page by clicking "Project List" from the top. You will see your projects. To see a project's page, click on the project name. This will show you the project's test case tree and the search, views, reports, and manager functions.

How do I manage TCW projects?

 * In each project there are a few options that you can control. One is category, and the other is user access. You can change these on the "Manage this project" link on the project's page. You can only do this if you are a TCW administrator or if you have been given "Manager" access to the project.
 * Categories are controlled on the Administration screen in the Categories section. You can add, remove, rename categories. (You should have the hang of the Administration screen interface by now.) Remember that if you rename a category, that any projects in that category will stay in that category with the new name. In order to add a Project to a Category, you must select the category from the list on the Manage Project screen.
 * To change access to a project, you select the user from the list on the lower part of the Manage Project screen, and then use the check boxes to select which rights you want to give that user. By default all users have "View" access which means they can see the project and enter test execution reports for tests. Also TCW administrators always have all rights on all projects.

What are the project access rights available?

 * Each right is independent; so you must give any user of the project View access, even if they have Edit access, etc.


 * View
 * The user can see the project, run reports, enter test execution reports.


 * Alt
 * The user can edit the names, locations, and details of test cases.


 * Crt
 * The user can create new test cases.


 * Del
 * The user can delete test cases.


 * Asn
 * The user can assign test cases to testers so they can be "flagged" for that user when they view the project and easily see what they have to do.


 * Mng
 * The user can view the Manage Project page for this project, and set all access levels for other people, etc.


 * Imp
 * The user can enter test execution reports as if they were another user.

How are test cases structured?

 * There are two answers to this. First of all, a test case has the following attributes:


 * Name
 * The descriptive short name of this test case


 * Description
 * The details of the test case, such as testing instructions and expected results.


 * Assignee
 * The tester who is assigned to do this test case. This is optional. It doesn't prevent other people from testing this test case, it just highlights the tests for the user they are assigned to.


 * Level
 * The level of importance of this test. These levels are defined on the Administration screen but a set of 7 levels are provided by default.


 * Blocked by
 * This allows you to enter the ID number of another test that will "block" this test case. In other words, "blocking" means that if the other test fails, then this test cannot be tested until the other test has passed. This is usually because the failure of another test implies that this functionality will also fail. This shows you the effect on QA cycle of a failed feature, and minimize unnecessary testing work on tests that you know will fail. There is more on Blocking in the TCW documentation.


 * The other answer to this question is next.

How are tests organized?

 * A test case in TCW is really an object that can indicate an individual test to execute, or a bucket to hold a category of tests. This allows you to organize test cases in a hierarchial structure, divided perhaps by functional areas of the software project
 * This means that we have "child test cases" and "parent test cases". Parent test cases have special meanings. They should not be treated as tests that you will execute, but the tests to be executed should be "child cases" underneath them in the hierarchy.
 * In the project list, the pass/fail status of a parent test case is determined by its children: **If one of its children are failed, then it is failed.
 * If one of its children are untested, then it is untested.
 * Only when all of its children are tested and passed, then it is passed.
 * You can fail a parent case to indicate that all the tests underneath it in the hierarchy cannot be tested due to a major flaw or unavailable feature. If you fail a parent test case, the project list will show "Blocking" and all of its untested children are shown as "Blocked". This is another way to do "blocking". When the problem preventing testing is fixed, you can change the parent to "Passed" and this will remove the blocking.

How do I enter test cases?

 * Top-level test cases can be added in two ways:
 * By clicking the "Add new toplevel test case" link on the project page.
 * By clicking the "New sibling" button (black square over grey square) on the test case page for a top-level test case.
 * Child test cases can be added in two ways:
 * By clicking the "[+]" next to a test case on the project page, you will create a new child case underneath that case.
 * By clicking the "New child" button (black square next to grey square) on the test case page of the parent test case.
 * There is also a "Duplicate test" which will copy this test case (and all of its children!) to a new sibling test case(s). This makes it easy to create a lot of tests that have similar names and details.

What if I organize tests wrong?

 * On the Edit page of an existing test case, there is a "Move" button next to a textbox with the text "Move case (and children) to new parent". This allows you to move a test case from under one parent to another parent. You must find the TCID of the test case you want to move this case under. The TCID is displayed on every test case page and also is the number next to each test case in the tree view on the project page. To move a test case to the top level, enter a parent of 0.
 * You can also use this functionality to move tests between projects. To do this, you must first have a test case in the target project, and then move this case to under that case. This will move the tests to the new project, and from there you can re-move them as needed. This is very powerful when used with the "Duplicate test" function on a parent case.

What if I want a test case within a section to appear before other tests in that section?

 * There is no way right now to order the test cases within a section. They are always shown in the order they were created. One difficult way to do this is to delete the cases you want to come afterward, and then recreate them in the proper order. However this is a *bad idea* if there are test reports for those cases. So try to take care to enter cases in the best order if that order is really important. You can always insert "Do this other case first" in the test description if test sequencing is important.

What is a good way to use this?

 * The idea is: You will know in advance the functional areas of the project from the functional specification, business requirements, technical specification, etc. Your test case collection for this project should be organized in a way that reflects the functional areas of the software as well as the components.
 * So, let's say you have a web tool that shows data from a database. You know you will have a UI and a DB. So your top level "parent cases" may be "UI" and "DB". Then, you know the UI will have an input form, display the results of the input, and a way to download the results. Then under UI you may have sub-areas named "Input form", "Results display", "Download". Under these perhaps you have your tests, or more sub-areas, depending on what is best for organization.
 * So one way you might do this is use the "Create new toplevel test case" link on the project page, enter UI for the name, any details, and click Create. Then use the "New sibling" button, and create a case called "DB".
 * Then, use the left-arrow button (see below) to return to the UI case, and click the "New child" button. There you would enter "Input form", then use the create-sibling button to make "Results display", and another sibling for "Download".
 * Then, use the left-arrow button to go back to "Input form", and use "Create child" to make your first test under Input form, and then "Create sibling" to make the rest of the Input Form tests.
 * The other way you can do it is just keep Create Child down to Input form and make those tests, before going back to Input form and making the "Results display" area, and make those tests. Any way works, the interface is intended to make it easy to quickly organize the tests within parents.
 * Entering test cases into TCW like this allows you to easily add or remove tests from your test routine. This also allows for collaboration in creating the routine.

What are the box-arrow buttons on the test case page?

 * The grey buttons at the top of the test case are navigation buttons. They help you easily move through the test case tree. Sometimes there is nothing to move to in one of these directions, and that button will be blank to show that it is not available. This keeps the buttons in the same place to make it easy to click the direction you want. The buttons in order are:


 * Box with arrow pointing left
 * This takes you to the previous test case in the same section, i.e. the same parent. If you are at the first "child" in a section, this will be blank.


 * Box with arrow pointing up
 * This takes you to the parent test case. If you are at a toplevel test case, this will be blank.


 * Box with smaller box inside
 * This allows you to "jump out" back to the project page, showing all the test cases in the tree. This is always available.


 * Box with arrow pointing down
 * This takes you to the first child test case of this parent. If the test case you are on is not a parent case, this will be blank.


 * Box with arrow pointing right
 * This takes you to the next test case in the same section, i.e. the same parent. If you are at the last "child" in a section, this will be blank.


 * You can use these buttons for ease in navigating the test case tree while creating test cases and also when performing testing.

When I run a test, how do I report my results?

 * Via the project page case list, and/or via navigating the tests via the buttons, get to the test case entry in TCW for the test.
 * At the bottom there is a "Submit testing results" section. In the textarea, you can put in any information about the test execution that you want, such as input values or job numbers. One of the most important details would be how a test failed.
 * There will be a pull-down showing all the versions for this project. The most recent version is chosen by default, but make sure the one chosen is the same as the version of the software that you tested.
 * There are two radio buttons named PASSED and FAILED. You must pick one. If you don't pick one the report will not save.
 * If the case has failed, and you added a bug in the bug tracking system, or there is a bug already that causes this failure, enter that bug number in the "Bug#" box. This will allow for a direct link to the bug in the bug tracking system.

What if I enter my report slightly wrong?

 * On the right hand of the bottom side of the test case page is the "Testing results history" section. Simply click on "Edit" next to the report you made wrong, and you will be able to fix it and re-save it.

How do I delete a mistaken report?

 * Edit the test report and click Delete on the edit page.

Why are some cases on the project page yellow?

 * A yellow-highlighted test case on the project page indicates a test case that is assigned to you but has not been tested.

Why are some cases on the project page red?

 * A red-highlighted test case on the project page indicates a test case that is assigned to you and has been failed, therefore it will need retesting.

Is there a way to get an easy display of all test cases and their descriptions?

 * Use the "View complete test suite" link to get a view like this.

Is there a way to get an easy "test execution report" for the entire project?

 * Use the "Testing report details" link to get a report like this.

How can I quickly see how much work has been done and by whom?

 * For a report split by top-level parent cases showing the pass/fail/untested tallies, use the "Functional area pass/fail tally".
 * For a view of tester activity, use the "Testing split by tester" link.

I spelled my name right but I still can't log in!

 * Make sure when you enter your login name that you use the proper capital letters. Capital Letters Are Important. If you think there is an error in how your name was spelled or capitalized, check with your TCW administrator.

Last updated 1/26/06