Test user-initiated write operations involving Project Web App (Project Server 2010)

 

Applies to: Project Server 2010

Topic Last Modified: 2011-03-11

This article is about write operations that users can initiate by using only Microsoft Project Web App (PWA), without the involvement of Microsoft Project Professional on the client computer. Some of the most frequent operations in this category that 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 that takes advantage of the Project Server Interface (PSI) is required.

When defining the test mixes, you should always plan one read-only test corresponding to every write test. For example, in order to submit timesheets, a user will 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. This solution is part of the "Project Server 2010 Performance Lab Kit" (discussed previously in Plan a Project Server 2010 performance test lab). The sample code picks a random assignment from a list of all the assignments in the system (pre-generated in an XML file). Then it impersonates the resource assigned to that assignment and submits a change of the progress (percent complete).

In order to test task-update submission operations realistically, however, you also have to add a Web test to hit the My Tasks page. You can set such a test by using the Web Test Recorder in Visual Studio (discussed previously in Set up the test environment Project Server 2010. 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. This solution is part of the "Project Server 2010 Performance Lab Kit" (discussed previously in Plan a Project Server 2010 performance test lab). The sample code picks a random resource and a random period, and then creates the timesheet.

In order to test timesheet-submission operations realistically, however, you have to add a Web test to hit the My Timesheets page. You can set up such a test by using the Web Test Recorder in Visual Studio, (discussed previously in Set up the test environment Project Server 2010. 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. This solution is part of the "Project Server 2010 Performance Lab Kit" (discussed previously in Plan a Project Server 2010 performance test lab). The sample code picks a random project manager, gets the first pending task update from the list of task updates pending approval, and approves it. Then it submits the approval and finally republishes the affected project.

In order to test task-update approval operations realistically, however, you also have to add a Web test to hit the approvals page. You can set up such a test by using the Web Test Recorder in Visual Studio, (discussed previously in Set up the test environment Project Server 2010. 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. This solution is part of the "Project Server 2010 Performance Lab Kit" (discussed previously in Plan a Project Server 2010 performance 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.

In order to test timesheet approval operations realistically, however, you also have to add a Web test to hit the approvals page. You can set up such a test by using the Web Test Recorder in Visual Studio, (discussed previously in Set up the test environment Project Server 2010). 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.

Please send any comments, questions, or concerns about the documentation to epmdocfeedback@microsoft.com.