Wednesday, October 28, 2009

Features build application easy to use; features enhance value of product.

To build/increase the value of product, we need to think about user-friendliness of application. It is true that it will be varied based on end user test. So, I do some analysis in respect to client’s demand. From my observation there are different types of users;

- Some people like many modules integration in one application, from where they can navigate or maintain their day to day activities in real time, like Yahoo new home page (http://m.www.yahoo.com) or Google wave , ...

- Google’s common error page is classic and smart which prevents robot attack and gives user-friendly message as well.



fig: Google common error

- You and me most of the time hit URL from bookmarks or by writing on address bar. But some user always do search and hit URL just by copy-paste. For this little control GOOGLE implements some user-friendly options in GOOGLE Chrome, they did it very smartly.Among of various options, Paste and go and Paste and search are very endowment feature options to make users to understand that GOOGLE think about optimization, even by reducing action step(s). They give option Paste and go or Paste and search based on copied data; if it’s URL (if copied data has URL pattern perfectly or IP only, say google.com or 72.14.207.99) then Paste and go otherwise Paste and search is found on context menu. This is amazing, thanks to free GOOGLE. But, still I am missing some features on Chrome which are ‘Undo close tab’, ‘Add-ons’ like developer APIs to extend the core functionality with custom components.

fig: Paste and search


fig: Paste and go

- Implement some features that take care of careless users and increase security, say we can consider yahoo’s sing out feature, if we use Keep me signed in, after 2 weeks, it will sign out automatically from yahoo system.

fig: Keep me signed in

- To enhance usability need to come out from some ancient thinking. Such as in user registration/change profile form, usually there is found password input field where password characters are displayed. User can’t see those characters what he/she is typing on password textbox. In add/edit mode it will be user-friendly if user can see what he/she is typing. But in case of confirm password (re-type password) field behavior, it is okay what now is going on.

Saturday, September 5, 2009

Causes: Software suffering from Bug!


Causes from my point of view:
=====================
1. Incomplete, incorrect, inadequate, vague, missing document. In a nutshell, error of requirements.
2. Deficient/defective design.
3. Miss perception of requirements.
4. Miscommunication or no communication.
5. Overconfident.
6. Insufficient knowledge on implemented technology.
7. Programming/coding errors.
8. Logical error not handled effectively.
9. Poor management on team forming and driving to devise product.
10. Project coordination gap between team.
11. Lack of convention knowledge and its implementation.
12. Wrong project estimation and plan; ultimately pressure fall upon whole team.
13. All possible test cases are not covered.
14. Insufficient time to test.
15. In appropriate use of methodologies.

Robustness achievable If:
=================
1. Requirement must be standard, details and complete with all relevant information.
2. Entails requirement analysis accurately.
3. Submit good questionnaire to understand each point of the specification.
4. Team discussion on each backlog items.
5. Flawless design.
6. Forecast possible complexity (use experience as an example).
7. R&D on coming up complexity.
8. Realistic plan to meet the deadline safely.
9. Must have confident and knowledge to implement backlog items.
10. Basic acceptance test must for module owner.
11. Must raise hand | flag if anybody stuck in any issue.
12. Need to make sure code coverage.
13. Use proven code (if possible).
14. Peer code review (if possible).
15. Detail error report | log for further analysis.
16. All possible test cases must be covered.
17. Make sure all possible performance factors.
18. All possible test scenarios | environments setup before extensive testing.
19. Automate stable portion to reuse it in regression.
20. Have to make sure browser and device compatibility.
21. Have to bug advocacy in a right manner.
22. Have to stop blame game rather focus on project success.
23. Have to keep attention on client feedback.
24. Have to validate deployment to make sure successful build.
25. Good team work! Good team work! Good team work! And finally smile together!

Perhaps I have missed some points...

Tuesday, August 11, 2009

Testing convention cuts down estimated testing time

There are different types of coding conventions, file & folder naming conventions and people are following these practices in their day to day work.

From my practical work, I like to share with you one of my experience regarding testing convention. I am talking about one of our product which has form submission section with a lots of controls. Moreover, we need to verify different categories of forms with numerous number of fields. So, there is a chance of data missing/losing and so as. In a nutshell, I/we need to verify all fields mapping. Say Form1 has 133 controls (textbox or rich textbox) and how these were verified accurately at the time of verification, for Form1 I had put values like this way -


Legend:
N = number of form(s)
X = number of field(s)

You can use auto filler or record player for this purpose. After publishing the form I had cross checked data from published section, printer version and DB as well. We had very short deadline period, forms were developed one after another. After completed my one from saved data were found by the following pattern -


By seeing at a glance I had verified form(s) so accurately. Another thing, that I had used script tag that helps me to verify the HTML converting test case. If any field suffering from decoding problem it gives alert like this way -


By seeing the above alert pop-up, I have very swiftly track the field(s) which has flaw. That will also help in the time of bug reporting precisely.

This tips and tricks will cover following test cases:
  1. Data mapping on published page, printer friendly HTLM version and DB - Yes/No
  2. Data losing in any field of any form - Yes/No
  3. Fields existence on printer version - Yes/No
  4. HTML decoding in all fields - Yes/No
  5. Special character converting - Yes/No
  6. Form wise report in the time of regression testing - Yes/No
Now- a-days, we are going to implement Agile development. So, in terms of Agile testing process we need to follow the testing convention which cut down the estimated testing time. This is one of my techniques. Maybe, you use another better one.

Tuesday, July 28, 2009

Evolution Of Software Generation

In a simplest way, for specific time duration, a system which instigates, considers, assesses, assures and answers the questions, need and dilemma regarding a particular field of that time duration is called the Oracle. Oracle transforms from door to door of time. In a nutshell, as generation goes, Oracle is updated and will be updated by the pressure of user(s) demand. Whatever Analyst, QA, Developer or other experts, each and everyone must follow the Oracle to set up all requirements.

Figure: Snap shot taken from Wordpad.


Figure: Snap shot taken from MS Word.

Have a look on the end edge of each line altogether. For MS Word it looks like smooth stair without any disruption but for Wordpad it is not. It was true in the age of Wordpad that it was the model for next version - it was Oracle for that time period. Now, we need to update this Oracle to MS Word as it is much more solvent with more options than Wordpad.



Figure: Snap shot taken from Google doc.

Above all are examples of word processing editors, among these last two are web based. WOW!!. But this WOW must not stand stop here. These existing products have lots of limited dimension. As a consequence, new WOW will be coming soon but those will be based on running Oracle. So we must update Oracle day by day by absorbing i-knowledge.

Write Automation Test using Selenium with Java & JUnit

Selenium  with  Java  and  JUnit5  is a popular framework for web application testing, and here are some reasons why it is considered a goo...