Testing user-initiated writer operations involving Project Web Access

This Office product will reach end of support on October 10, 2017. To stay supported, you will need to upgrade. For more information, see , Resources to help you upgrade your Office 2007 servers and clients.

 

Topic Last Modified: 2010-01-19

This article discusses ways of testing write operations — specifically, operations that users can initiate by using the Microsoft Office Project Web Access application only, without the involvement of Project Professional on the client computer. Some of the most frequent operations in this category you may want to test include the following:

  • Update status information on My Tasks

  • Submit a timesheet

  • Approve task updates

  • Approve timesheets

While Web tests alone are enough for read-only operations, for write operations some custom code leveraging the PSI will be required.

When defining the test mixes, you should always have one read-only test corresponding to each write test. For example, in order to submit timesheets a user should always need to access the My Timesheets page.

Submit task updates

The "EPM Stress Test" Visual Studio solution provides a sample test method ("SubmitTaskUpdates") to implement the Submit Task Updates test. (That solution is part of the "Project Server 2007 Performance Lab Kit," discussed previously in Planning a Project Server 2007 test lab,) The sample code picks a random assignment from a list of all the assignments in the system (previously generated in an XML file), and then impersonates the resource assigned to that assignment. Then it submits a report about the progress (percent complete).

However, in order to test task update operations realistically, you also need to add a Web test to hit the My Tasks page. You can simply set up a Web test for the My Tasks page by using the Web Test Recorder in Visual Studio (discussed previously in Setting up a Project Server 2007 test environment. The test mix between the Web test (page hit) and the unit test (actual task update submission) should be two page hits for every test submission.

Submit timesheets

The "EPM Stress Test" Visual Studio solution provides a sample test method ("CreateAndSubmitTimeSheet") to implement the Submit Timesheets test. (That solution is part of the "Project Server 2007 Performance Lab Kit," discussed previously in Planning a Project Server 2007 test lab.) When run, the sample code picks a random resource and a random period to create a timesheet.

However, in order to test timesheet submission operations realistically, you also have to add a Web test to hit the My Timesheets page. You can set up a Web test for the My Timesheets page by using the Web Test Recorder in Visual Studio, (discussed previously in Setting up a Project Server 2007 test environment. The test mix between the Web test (page hit) and the unit test (actual timesheet submission) should be two page hits for every test submission.

Approve task updates

The "EPM Stress Test" Visual Studio solution, provides a sample test method (“ApproveTaskUpdates") to implement the Approve Task Updates test. (That solution is part of the "Project Server 2007 Performance Lab Kit," discussed previously in Planning a Project Server 2007 test lab,) The sample code picks a random project manager, gets the first pending task update from the list of task updates pending approval, approves it, submits the approval and finally republishes the affected project.

However, in order to test task update approval operations realistically, you also have to add a Web test to hit the approvals page. You can set up a Web test for the approvals page by using the Web Test Recorder in Visual Studio, (discussed previously in Setting up a Project Server 2007 test environment. The test mix between the Web test (page hit) and the unit test (actual task update approval) should be two page hits for every test submission.

Approve timesheets

The “EPM Stress Test" Visual Studio solution provides a sample test method (ApproveTimesheets) to implement the Approve Timesheets test. (That solution is part of the "Project Server 2007 Performance Lab Kit," discussed previously in Planning a Project Server 2007 test lab,) The sample code picks a random timesheet approver, gets a random timesheet from the list of timesheets pending approval, and finally approves it.

However, in order to test timesheet approval operations realistically, you also have to add a Web test to hit the approvals page. You can set up a Web test for the approvals page by using the Web Test Recorder in Visual Studio, (discussed previously in Setting up a Project Server 2007 test environment). The test mix between the Web test (page hit) and the unit test (actual timesheet approval) should be two page hits for every test submission.

See Also

Concepts

Planning a Project Server 2007 test lab
Key metrics for Project Server 2007 performance
Setting up a Project Server 2007 test environment
Testing user-initiated read-only operations involving Project Web Access
Testing user-initiated operations involving Project Professional
Testing Project Server 2007 background operations
Extracting and analyzing lab test data