An Experiment with GMAIL

An Experiment with GMAIL

Introduction:

All the ideas/experiments mentioned here are my own observations and the main reason for writing this is not for criticizing/praising a product (Here GMAIL), but only to test it and judge the best and worst of the product. (Here GMAIL).

1) Type www.gmail.com/WWW.GMAIL.COM/wWw.GmaIL.Com in the Address URL.
Observation:
i) Though you will be redirected to the home page of GMAIL, but I can observe in the address URL https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl&ltmpl=default&ltmplcache=2 where there is no mention of GMAIL anywhere.
This gave me an idea that since GMAIL is a product from GOOGLE and this login is not applicable to GMAIL but this login is applicable to all GOOGLE PRODUCTS, and hence checked the site www.google.com and clicked the sign in button there, What I observed is the same

https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dl&ltmpl=default&ltmplcache=2

so, this is the main reason whenever you are signing into GMAIL or any GOOGLE Product you are always automatically signed into all other GOOGLE products.
Comments:

This is very useful in order to avoid multiple sign INS, E.g.: I have signed in GMAIL and now I don’t have to sign into ORKUT. This is advantageous.
But just a pause here, I have signed into GMAIL and forgot to signoff and I just closed my browser and went off. My brother who just came and typed WWW.ORKUT.COM in another browser, oh! He was able to see my friends and my page. Since he is brother not much secrecy is not lost but what if I am replicating the same scenario in an INTERNET center.
A common end user will not or never will have an idea of when his session is going to be timed out, henceforth before you realize that you have forgotten signing off from the GMAIL in your last log in at ABC INTERNET CAFE, you are already hacked.

So, there is a high risk of Security by using GMAIL. (Need your comments on this statement!)

ii) But one more thing I observed in the redirected URL is https instead of regular http. This means GOOGLE is using more secured technology for data transfer. So on the NETWORK your data will be safe.

· Did I mention that it took me 6.3 seconds(approximately) to view the log in page after I typed the URL in the Browser followed by a click on the GO button present next to it. (Tested on a 74 kbps, IE 6 Browser, XP OS, P4 configuration computer)
· I got the home page, what caught my eye is that GMAIL is still a beta product.(It is not fully established in all areas is what I feel when I see a Beta there!)

· No, spelling mistakes found on the page.

· There was a numeric value on the page, which is changing dynamically.
Lots of space
Over 4561.283632 megabytes (and counting) of free storage so you’ll never need to delete another message. Chat right inside Gmail.
This number is not increasing in a non-uniform manner, appreciable is that is incrementing correctly.

· The hyperlink Learn More present under the Chat right inside Gmail subsection is my next check. On click on this hyperlink you are redirected to the same other page, but you don’t have an option of returning back your previous page. Well I used my browsers back button and I observed that it took some pretty long time (I mean to say that the previous page URL is not stored in my system. Hence it went back to server or something I like this.) This is a bad Idea with respect to me. I could have found a back button on the page where I was redirected.

· Same was the case with the Learn more hyperlink present under the Mobile access subsection. It was the case with all hyperlinks present on the page. And hyperlinks were working on the date tested.

· Here I found a difference, the number that was changing dynamically had really caught my eye, and I had lot of test cases on that number for the time being this difference I found.

I had already opened the home page in a browser and the number was changing. Now I opened another tab(It is possible to open new windows in Tabs in Mozilla/IE6).In my new tab I typed the URL www.gmail.com and clicked on the GO button found next to the address bar. I observed that the number started from 2745.xxxyyy(some number) and within next second it bounced back to 4561.xxyy (some number). This indicates that it is starting with some number or cutoff value here I got it as 2745.xxxyyy(some number).

After a second or so it is changing to the number, which is present on my old existing page on the other already opened tab. And from there they are moving in a synchronous manner.(This I have tested both on IE7 and Mozilla Browser). So, I what I can conclude from there is that numerical value increase on the page is not uniform.

· Now moving towards right on the page I have the text boxes and button. I have tested the look of the page in 800 by 600 and 1024 by 768 resolutions, it looked very fine and the scroll bars also served the purpose.

· What I observed on the page is the sentence
Sign in to Gmail with your Google Account
This is a message meant for the end user hinting him that he going to sign into GOOGLE and not particularly GMAIL. Hope all end users this.

· Testing started now with the user name text box. The very first test I did was a negative one. Before testing the expected output I have first did this:
I went to create an Account page and checked the maximum length that an email Id can have and I found that it is “Sorry, your username must be between 6 and 30 characters long.”. so, this gets the expected input for the boundary value test cases and equivalence partition.

But I was able to enter 17,13,312 (and more, I have stopped here) characters in the Username field. When you are restricting any user for a maximum of 30 characters as desired User Name what is the use of allowing an end user approximately 17,13,312 characters. Practical disadvantages I found is it took almost a minute and more to get a message as Invalid email address. [?] when tried entering such a user name. If many several users try this testing what will the performance of valid user? So, this is a very valid bug I feel.

Now the minimum field value i.e. 6 but I was able to enter a user name with length=4 characters. And when I tried to login I got some other message as Username and password do not match. (You provided ascv). I.e. there is no consistency in messages. Boundary value conditions and equivalence Partition cases have been failed here.

· Also when tried the above scenario I have even obtained a ? in my message, which is a hyperlink, and on clicking it I got redirected to “What’s my Password?” page, stating that hyperlink is working, and this page did not opened in the same page but it got opened in a new web page and focus on the new page.

So, More observations are coming up in my next posting, to summarize here what I wanted to discuss/show to you are:
1) I find a security Issue in singing into GMAIL.
2) Dynamic number generating on the page is something worth a testing.
3) UserName text field has failed the key black box testing features like Boundary Value Analysis, Equivalence Partitioning.
4) Inconsistency in messages when trying to logging in.

Coming in the next post I will try to EXPERIMENT WITH THE GMAIL more especially in the password text fields, Submit button, Checkbox present on the page.

If you have any suggestions or comments in the above posting, please send your valuable comments to me by mailing me or leaving a message at
Pavanturlapati@gmail.com.

Happy Testing :)
Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

Write down any potential problems or omissions with this:

The following is a question being extracted from the website.
I tried to answer the question here. If you feel for any suggestions or comments, please mail me @ pavanturlapati@gmail.com and share and guide me your suggestions.

Question:

The following is an extract from a fault log, write down any potential problems or omissions with this:

Fault LogFault No: 27822
Environment: Windows 98
Priority: 3
Author: A Tester Application: Web System
Description:When I log on to the screen DF342 I should be able to deleterecords. However when trying to delete records an error messageappears telling me that I am not authorised.

Response:25 Aug: Programmer – Security needs to be set up allowing youaccess to the delete facility – No error.

26 Aug: Tester – We had set security up and it doesn’t appear towork – I have re-opened this fault!

Answered by me :

Before answering the above question let me remind you all that the basic error logging system should have the following fields:
1) Error Id
2) Date of testing
3) Version number
4) Description
5) Steps to reproduce
6) Severity
7) Priority
8) Environment
9) Issue logged by
10) Issue Assigned to
11) Status of the logged defect
12) Comments if any

Though it is the Project managers/Test managers to decide the minimum information to be given while logging, some may be mandatory in any case like Error Id, Version Number, Description, Steps to reproduce, Severity, Priority, Environment, Logged by, Assigned to, Status of the defect.

If we observe the above case now,
We are missing the following information
1) Version number
2) Steps to reproduce
3) Severity
4) Assigned to
5) Status of logged defect

Apart from the above, though the Tester here mentions the description but the actual error message is found to be missing. Due to the actual error message missing in the error log the developer thought of the severity being too low and hence thought of the some security settings not set for the user/page.

This made the tester to re look and made the issue re-open.Though he mentioned the the state of security settings but he did not mention the actual error message. Due to this the developer could not analyse the actual problem and the developer could not give the best appropriate fix if the error really exists.

The above process will be continued till the same error is coming even for the developer but the same could never be possible because the tester has not cared either to provide the valid steps or the actual error message coming on the page.

Also he just stated that – “We had set security up and it doesn’t appear to work – I have re-opened this fault!” this is very wrong way of reopening the logged issue especially when the developer feels no issue at all and the tester feels a high severity issue actually exists and that too without proper reasoning and explanation.
The above case may lead to unnecessary extensions of the case and will lead to communication problems etc.

So, We all TESTING ENGINEERS should learn the proper way of reporting the issue.

Hope my explanation satisfies for the question asked!

Now here comes the answer mentioned at the website.

Potential Problems/Omissions
1) No date on log as to when raised
2) No keywords (i.e. screen) so that searches can be performed preventing duplication of fault logs
3) No status of the log (opened/fixed/closed/cleared etc.)
4) No owner of the log.
5) Has priority – but no severity (i.e. risk to the customer)
6) No version number of the system being tested – it is very likely that the testers are on a different version to development and that it was a fault but has been inadvertently fixed on this latest software
7) Query the priority of this log (should it be a 3?)
8) No actual error message on the log – this may give some clue to the developer about the nature of the fault
9) Response seems to be leading to a dialogue – if we are not careful this fault will never be fixed! Tester should talk to the developer rather than sending another message via the fault log.
10)The response by the developer points to another part of the system (security) – this may be an indication of developers trying to quickly close the issue without performing sufficient investigation. It could however be because the tester has not spent enough time documenting the problem.

Be Awaited for the next post in a very hours.

Waiting for all your suggestions/comments.

Happy Testing :)
Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

How to test a Text Box?

Hi!
Welcome to the series of ‘How to Test’.From now I thought of concentrating some of the fields which are seen on a web page.I hereby start with a simple text box in this post.

Requirements:
1) I have a simple text box of certain size,maximum length.
2) A button which on click will save the data entered in the text box into the database.
3) For each record inserted into the database a new unique id is generated.

How will you get the page:
1) Type the URL in the browser
2) Press Enter key present on the keyboard.
3) You will be able to see the Text box,button on the page.

OK,now we start our test ideas:
My Text box can accept all types of data like alphabets,numeric,special characters,Null,space etc.

Checking the default values:
1)Check the default values of the button,text box,which should be enabled and text of the text box should be null.

Checking the NULL condition:
2)Click on the save button.
If the requirement mentions that: you can save a record with null value then the above case is correct,else the above is bug

Checking the Space condition:
3)
i) Press space bar present on the keyboard for sometime so that an empty space gets inserted into the text box
ii) Click the button

If record saving with space as a valid value then it is not an issue else it is an bug.

4)
i) Copy some empty space somewhere say I copied from a notepad and paste in the text box.
ii) Click the button

If record saving with space as a valid value then it is not an issue else it is an bug.

Checking the Boundary value condition:
5)
i) Enter data in the text box less than the minimum value
ii)Click on Save button

An Error Message should be seen.Else it is a bug.

6)
i) Enter data in the text box equal to the minimum value
ii)Click on Save button

Should get saved.Else it is a bug.

7)
i) Enter data in the text box greater the maximum value
ii)Click on Save button

An Error Message should be seen.Else it is a bug.

8)
i) Enter data in the text box equal to the maximum value
ii)Click on Save button

Should get saved.Else it is a bug.

9)
i) Enter space in the text box equal to the maximum value of the database.
ii)Maximum+1 value equals some valid character
iii)Click on Save button

Should give an error message if space is not a valid value.Else it is a bug.

10) Above can tried even with the copy and paste operation.

Field should accept only alphabets.
11)
i)Enter Alphabetic text
2)Click on the button
Should get saved else it is a bug

12)
i)Paste Alphabetic text
2)Click on the button
Should get saved else it is a bug

13)
i)Enter/Paste Numeric Value/Special characters/Html Tags/Single quotes/Double quotes
2)Click on the button
Should get an error,else it is a bug

Numeric:Rational Numbers,Decimals,Integers,Complex Numbers
Special Characters:!@#$%^&*(),[ALT+124] etc
HTML Tags: Starting Angle Bracket HTML Ending Angle Bracket
Single Quotes: ‘
Double Quoted:”

Checking Trim Functionality
14)
i)Enter Space followed by name
ii)Click on the button
Data has to be trimmed and should get saved else it is a bug

14)
i)Enter Space prefixed to name
ii)Click on the button
Data has to be trimmed and should get saved else it is a bug

15)ENTER VALUE WITH SINGLE QUOTE AND ‘&’ AND VALUES LIKE ~!@#$%^&*()_
These are some of the test ideas I can see when I want to test single text box.

In summary depending upon your requirements and other fields inter linkage, a number of test ideas can be generated.

Before I say a complete bye bye for this post, I have here the MSDN SITE where you can find all the possible properties of text box which will defintely add some more ingredients to your testing.

If you feel I have left out any test ideas in testing the text box,please suggest/comment me.

For further improvement suggestions,please mail me :pavanturlapati@gmail.com

Happy Testing :)
Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

Enhance your knowledge for free :)

Welcome to the world of testing!
I have a request for all my readers, well wishers etc.
If you are a fresher and thinking of gaining some experience all that you have to do is not calling me or mailing for help but please check out the unlimited open source online sites available in the internet. To quote a single URL here is an example:

http://www.opensourcetesting.org/functional.php

In the above link you can find all the information including bug logging, bug tracking etc. One more hint for you is the famous Mozilla Browser is a free tool and you can test their daily releases along with bug logging, bug tracking facility and that too using one of the bug tracking tool Bugzilla.

So, please go through and work a little extra and you are there where you desired.

Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

Do you know …

Do you know …

Letters ‘a’, ‘b’, ‘c’ & ’d’ do not appear anywhere in the spellings of 1 to 99
(Letter ‘d’ comes for the first time in Hundred)

Letters ‘a’, ‘b’ & ‘c’ do not appear anywhere in the spellings of 1 to 999
(Letter ‘a’ comes for the first time in Thousand)

Letters ‘b’ & ‘c’ do not appear anywhere in the spellings of 1 to 999,999,999
(Letter ‘b’ comes for the first time in Billion)

And

Letter ‘c’ does not appear anywhere in in the spellings of entire English Counting

Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

A NEW SOFTWARE DEVELOPMENT LIFE CYCLE MODEL

My school does not teach SDLC, What do you mean by it?

One statement ahead of the rest of the post, the most common statement which you see in almost all movies (nowadays more frequent) is “ All the content posted here are my own thoughts and do not resemble any person“.

Ramu (Some Name I choose) was a fresher trying very hard to get a job in the IT industry. Raja (Some Name I choose) is working as the Manager (Some Manager related to Project) in some XYZ company. Raja was working in the XYZ Company right from the days when it had only 3 employees who are the current MD, HR, and Raja himself. So senior in the company he has very good experience in a wide variety of projects. He was a masterpiece in something (Else he could not have been there in the Industry). After long trials Ramu i.e. our fresher got a job in the famous XYZ Company and he has to work under Raja our senior most manager. Raja already has wasted 2 years after he completed his graduation but unluckily he got the job only after 2 years, and the most interesting is he has applied as a fresher instead of the regular fake experience. But Ramu has really worked very well in these 2 years. He has attended number of institutes from which he learnt a lot of things, which they say, ”What do they do in Real Time”.

The trainers in the Institute had taught Ramu very efficiently adding their own stories to the SDLC life cycle. Very talented, smart and quick to grasp Ramu had imagined all the beautiful things, which are supposed to do during the project.

First Day in the week, not much great work for Ramu except throwing some documents, saying these are the current project requirements go through, if any doubt arises please do ask us. Ramu interestingly being the first best real time project of his career went through each and every word of the document and tried to understand everything and yes he did.

Second week he was assigned to write some test cases on certain modules by his team leader. Happiness was never the same, third week his team leader was on a long leave. Now Ramu was left alone along with some other senior who really feels he is a superior.

One fine day our manager Raja asks Ramu that he has to test some page. Ramu expected a neat detailed document at least if not the test cases and other required documents already present. But his thoughts became wrong, there is no document for reference, but there are test cases, which are written considering all, except the functionality of the application. Ramu got shocked, asked his senior “These test cases are not complete” for which the senior responded “why do you worry about the test cases?” Ramu never imagined that the S/W is built in this way. Disappointed by the senior remarks he went to Raja the manager, told the same and requested to give some document and some time so that he updated the cases and test them accordingly. But more shocked to hear from the manager “I have asked you to work and not suggest me what I should do now”

Now what Raja did to continue his job and save his reputation he has accepted and did the same thing which his senior was doing or according to the developers terms” What can you do other than clicking some odd buttons and cry foul over nothing!”
Real Time experiences are different. I did not mean every company would follow the same above process. I only hint the testers that “WE CANNOT ACHIEVE QUALITY IN A PRODUCT UNLESS YOU FOLLOW A QUALITY PROCESS“. So, If you feel there is chance of improvement whereby you can improve not only your performance, but also the quality of the product, do suggest the people. Don’t hesitate even if they are seniors to you. We are employed to take care of quality and we have to do the same at any cost.

By this I thank all my readers who have reached till here and request you to suggest for any corrections/improvements. Please email me: pavanturlapati@gmail.com.

Waited for your response.

Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

BS 7925 – 2 Standard for Software Component Testing

The British Standard for Software Component Testing is known as BS 7925-2.
Here is the link for the same.

Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

What is the difference between an application server and a Web server?

[Copied Version]

What is the difference between an application server and a Web server?

Taking a big step back, a Web server serves pages for viewing in a Web browser, while an application server provides methods that client applications can call. A little more precisely, we can say that: A Web server exclusively handles HTTP requests, whereas an application server serves business logic to application programs through any number of protocols. Let’s examine each in more detail.

The Web server

A Web server handles the HTTP protocol. When the Web server receives an HTTP request, it responds with an HTTP response, such as sending back an HTML page. To process a request, a Web server may respond with a static HTML page or image, send a redirect, or delegate the dynamic response generation to some other program such as CGI scripts, JSPs (JavaServer Pages), servlets, ASPs (Active Server Pages), server-side JavaScripts, or some other server-side technology. Whatever their purpose, such server-side programs generate a response, most often in HTML, for viewing in a Web browser. Understand that a Web server’s delegation model is fairly simple. When a request comes into the Web server, the Web server simply passes the request to the program best able to handle it. The Web server doesn’t provide any functionality beyond simply providing an environment in which the server-side program can execute and pass back the generated responses. The server-side program usually provides for itself such functions as transaction processing, database connectivity, and messaging. While a Web server may not itself support transactions or database connection pooling, it may employ various strategies for fault tolerance and scalability such as load balancing, caching, and clustering—features oftentimes erroneously assigned as features reserved only for application servers.

The application server

As for the application server, according to our definition, an application server exposes business logic to client applications through various protocols, possibly including HTTP. While a Web server mainly deals with sending HTML for display in a Web browser, an application server provides access to business logic for use by client application programs. The application program can use this logic just as it would call a method on an object (or a function in the procedural world). Such application server clients can include GUIs (graphical user interface) running on a PC, a Web server, or even other application servers. The information traveling back and forth between an application server and its client is not restricted to simple display markup. Instead, the information is program logic. Since the logic takes the form of data and method calls and not static HTML, the client can employ the exposed business logic however it wants. In most cases, the server exposes this business logic through a component API, such as the EJB (Enterprise JavaBean) component model found on J2EE (Java 2 Platform, Enterprise Edition) application servers. Moreover, the application server manages its own resources. Such gate-keeping duties include security, transaction processing, resource pooling, and messaging. Like a Web server, an application server may also employ various scalability and fault-tolerance techniques

An example

As an example, consider an online store that provides real-time pricing and availability information. Most likely, the site will provide a form with which you can choose a product. When you submit your query, the site performs a lookup and returns the results embedded within an HTML page. The site may implement this functionality in numerous ways. I’ll show you one scenario that doesn’t use an application server and another that does. Seeing how these scenarios differ will help you to see the application server’s function.

Scenario 1: Web server without an application server

In the first scenario, a Web server alone provides the online store’s functionality. The Web server takes your request, then passes it to a server-side program able to handle the request. The server-side program looks up the pricing information from a database or a flat file. Once retrieved, the server-side program uses the information to formulate the HTML response, then the Web server sends it back to your Web browser. To summarize, a Web server simply processes HTTP requests by responding with HTML pages.

Scenario 2: Web server with an application server

Scenario 2 resembles Scenario 1 in that the Web server still delegates the response generation to a script. However, you can now put the business logic for the pricing lookup onto an application server. With that change, instead of the script knowing how to look up the data and formulate a response, the script can simply call the application server’s lookup service. The script can then use the service’s result when the script generates its HTML response. In this scenario, the application server serves the business logic for looking up a product’s pricing information. That functionality doesn’t say anything about display or how the client must use the information. Instead, the client and application server send data back and forth. When a client calls the application server’s lookup service, the service simply looks up the information and returns it to the client. By separating the pricing logic from the HTML response-generating code, the pricing logic becomes far more reusable between applications. A second client, such as a cash register, could also call the same service as a clerk checks out a customer. In contrast, in Scenario 1 the pricing lookup service is not reusable because the information is embedded within the HTML page. To summarize, in Scenario 2’s model, the Web server handles HTTP requests by replying with an HTML page while the application server serves application logic by processing pricing and availability requests.

So, difference between AppServer and a Web server
(1) Webserver serves pages for viewing in web browser, application server provides exposes businness logic for client applications through various protocols

(2) Webserver exclusively handles http requests.application server serves bussiness logic to application programs through any number of protocols.

(3) Webserver delegation model is fairly simple,when the request comes into the webserver,it simply passes the request to the program best able to handle it(Server side program). It may not support transactions and database connection pooling.

(4) Application server is more capable of dynamic behaviour than webserver. We can also configure application server to work as a webserver.Simply applic! ation server is a superset of webserver.

Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

Performance Criteria

Copied version:

The basic advice regarding response times has been about the same for thirty years [Miller 1968; Card et al. 1991]:

0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result.

1.0 second is about the limit for the user’s flow of thought to stay uninterrupted, even though the user will notice the delay. Normally, no special feedback is necessary during delays of more than 0.1 but less than 1.0 second, but the user does lose the feeling of operating directly on the data.

10 seconds is about the limit for keeping the user’s attention focused on the dialogue. For longer delays, users will want to perform other tasks while waiting for the computer to finish, so they should be given feedback indicating when the computer expects to be done. Feedback during the delay is especially important if the response time is likely to be highly variable, since users will then not know what to expect.

Normally, response times should be as fast as possible, but it is also possible for the computer to react so fast that the user cannot keep up with the feedback. For example, a scrolling list may move so fast that the user cannot stop it in time for the desired element to remain within the available window. The fact that computers can be too fast indicates the need for user-interface changes, like animations, to be timed according to a real-time clock rather than being timed as an indirect effect of the computer’s execution speed: Even if a faster model computer is substituted, the user interface should stay usable.

In cases where the computer cannot provide fairly immediate response, continuous feedback should be provided to the user in form of a percent-done indicator [Myers 1985]. As a rule of thumb, percent-done progress indicators should be used for operations taking more than about 10 seconds. Progress indicators have three main advantages: They reassure the user that the system has not crashed but is working on his or her problem; they indicate approximately how long the user can be expected to wait, thus allowing the user to do other activities during long waits; and they finally provide something for the user to look at, thus making the wait less painful. This latter advantage should not be underestimated and is one reason for recommending a graphic progress bar instead of just stating the expected remaining time in numbers.

For operations where it is unknown in advance how much work has to be done, it may not be possible to use a percent-done indicator, but it is still possible to provide running progress feedback in terms of the absolute amount of work done. For example, a system searching an unknown number of remote databases could print the name of each database as it is processed. If this is not possible either, a last resort would be to use a less specific progress indicator in the form of a spinning ball, a busy bee flying over the screen, dots printed on a status line, or any such mechanism that at least indicates that the system is working, even if it does not indicate what it is doing. Note added for the Web version of this essay: Most Web browsers fail in providing useful progress bars, since they don’t communicate what percentage of the entire download for a page has been completed.

For reasonably fast operations, taking between 2 and 10 seconds, a true percent-done indicator may be overkill and, in fact, putting one up would violate the principle of display inertia (flashing changes on the screen so rapidly that the user cannot keep pace or feels stressed). One could still give less conspicuous progress feedback. A common solution is to combine a “busy” cursor with a rapidly changing number in small field in the bottom of the screen to indicate how much has been done.

Q: “You mention many times that response time is important, and there are tons of tools to measure response time, but what is an acceptable web based application’s response time? What is a user’s tolerance, not for a shopping experience, but for an interactive application?”

A: I wish we could eradicate the term “web-based application” because it distracts from the real issue, which is one of application UI design. We don’t have special guidelines for applications implemented in C++ relative to apps implemented in Visual Basic. The fundamental usability recommendations are the same, no matter the implementation, since we are discussing user experience, not coding.

Therefore, the response time guidelines for web-based applications are the same as for all other applications. These guidelines have been the same for 37 years now, so they are also not likely to change with whatever implementation technology comes next.

0.1 second: Limit for users feeling that they are directly manipulating objects in the UI. For example, this is the limit from the time the user selects a column in a table until that column should highlight or otherwise give feedback that it’s selected. Ideally, this would also be the response time for sorting the column – if so, users would feel that they are sorting the table.

1 second: Limit for users feeling that they are freely navigating the command space without having to unduly wait for the computer. A delay of 0.2-1.0 seconds does mean that users notice the delay and thus feel the computer is “working” on the command, as opposed to having the command be a direct effect of the users’ actions. Example: If sorting a table according to the selected column can’t be done in 0.1 seconds, it certainly has to be done in 1 second, or users will feel that the UI is sluggish and will lose the sense of “flow” in performing their task. For delays of more than 1 second, indicate to the user that the computer is working on the problem, for example by changing the shape of the cursor.

10 seconds: Limit for users keeping their attention on the task. Anything slower than 10 seconds needs a percent-done indicator as well as a clearly signposted way for the user to interrupt the operation. Assume that users will need to reorient themselves when they return to the UI after a delay of more than 10 seconds. Delays of longer than 10 seconds are only acceptable during natural breaks in the user’s work, for example when switching tasks.

Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

Experiences experienced/learnt in this week :)

Yes! It is almost a month back that I have written something due to some important busy work during this month.As the same is being continued even now,I here share some strong important points I have grasped from various sources during this week.

1) Quality in the company name does not bring quality in the product.There is something other which has to be done to get a quality product.
2) How worst will be the project, if the project manager does not know how best to use the SDLC(Software Development Life Cycle)!
3) It is none of your job to know how did we write the code,all that you have to do is go and click some buttons! Yes, these are the remarks made by a development team leader to a testing engineer when he asked what are the areas to be concentrated in this release and what went wrong in the earlier release so that issue cropped up…
4) Oh!Testing based on test cases,why do you waste your time dude. A senior tester to his junior Testing Engineer.( Designation said so)
5) If I do (UNIT)Testing, what will you do? A developer to a testing engineer?
6) Give me assurance that the about to be shipped product would be 100% bug free, if I give you some more hours for testing? A Test lead to testing engineer.

I do not wish to have these cases to be a part of my daily work.But these really troubled me when I have heard/experienced during this week.

If you have any more cases to be shared with me please mail me:
pavanturlapati@gmail.com

Do not forget to share your valuable ideas and suggestions to the above mentioned mail id.

Thanks & Regards,
Pavan Turlapati
– Testing became my passion from profession.

Next Page »