When working on workflow applications is often necessary to see how document looks from multiple users perspective.
Take this scenario for example:
1. User 1 creates a document edits and saves it multiple times over multiple days
a. User 1 can edit the document as needed
b. no other regular user in the environment can see/edit the document
c. the "document overlords" have full access to perform all actions on the edit document
2. User 1 is done making edits and "submits" the document
a. User 2 gets an email telling that user 1 has performed an action
b. User 1 can see the document, but, not edit it
c. User 2 can edit the document as needed
d. the "document overlords" have full access to perform all actions on the edit document
This is a very simple scenario, and one that most of us have run into before, (at least somewhat similar)
This list of specifications can be directly translated to your test plan
What if you missed the Isreaders property on the readers field? So, the database is just storing the user name, but, not restricting access?
In that case, once User 1 creates the document, user 2 would be able to see it too soon (breaking specification 1a)
So, to test this, you must log on as each user and look at each test case.
Doing this type of testing in the notes client is very easy in a test environment, create location documents for each of the users involved in the test cases, and setup the ids with no passwords or passwords that have been changed to match your OS password. It becomes quick and easy to flip between users quickly.
The web is a little slower because you have to login and out often, requiring a lot of typing (I hate extra typing)
Enter the reason for the blog entry, take a look at my Custom Login Page
Top part of the form is plain Jane, each of the buttons have an "ID tag" associated with them.
and an onClick event
ButtonClick( this );
And in the js header I've added one function
function ButtonClick( Obj ){
var Num = Obj.id.slice(-2) ;
if( Obj.id.slice(0,4) == "mail"){
SetField( "RedirectTo", "/mail/testuser"+ Num +".nsf");
}
SetField( "Username", "Test User"+ Num +"/DWCert");
SetField( "Password", "password");
document.forms[0].submit()
}