Archive

Archive for February, 2008

Software Testing Certifications

February 26, 2008 Manish Bhatpude 4 comments

As Software Testing field is expanding,there are various courses & certifications offered to make a rewarding career in Software testing.

When selecting a certification to pursue, a person has to ask the following essential question: Will the certification make me a better test professional?

A number of factors about a certification scheme can help answer this question. These factors can also be used to evaluate the value of the certification. Some of these factors are:

  • How comprehensive is the program? Does it cover a wide range of knowledge areas?
  • What do I have to do to earn the certification, is it merely passing an exam or will I receive education on how to do my job better?
  • Is the program based on providing substantial coverage of each of the areas of a Body of Knowledge?
  • Can students choose from among a variety of instructors and courses satisfying each of the Body of Knowledge education requirements or is it one-size-fits-all?
  • In addition to a proof of completing the certification, will I receive any evidence of completing the course of study?
  • Has there been any history of the certification being awarded to individuals without qualifying them? This can adversely affect how the software community perceives the value of the certification.

Following are the certifications available in Software Testing :

1) ISTQB ( International Software Testing Qualifications Board )

The ISTQB was officially founded as an International Testing Qualifications Board in Edinburgh in November 2002.
The ISTQB is responsible for the “ISTQB Certified Tester”, which is an international qualification scheme and the qualifications in the
scheme are based on a syllabus. There is an examination covering the contents of the syllabus.
After the examination, each successful participant receives the “ISTQB-Certified-Tester” certificate.
Foundation and Advanced are two levels for certifications.

URL:http://www.istqb.org/

2) CQA-Certified Quality Analyst:

For Professional level of competence in the principles and practices of quality assurance in the IT profession.
http://www.asq.org/training-and-certification.html

3) CSTE-Certified Software Test Engineer:

Intended to establish standards for initial qualification and provide direction for the testing function through an aggressive educational
program.

4) CSTP- Certified Software Test Professional:

To teach individuals from different disciplines sound and effective testing techniques and methods and to certify them as Software Testing
Professionals.
www.iist.org

5) CQE- Quality Engineer Certificate:

CQE is designed for those who understand the principles of product and service quality evaluation and control.

6) Quality Manager Certification:

For those who understand quality principles and standards in relation to organization and human resource management

7) CSQE- Certified Software Quality Engineer:

CSQE is designed for those who have a comprehensive understanding of software quality development and implementation; have a
thorough understanding of software inspection and testing, verification, and validation; and can implement software development and
maintenance processes and methods

Even few vendors provide certifications in Testing.
Vendors who offer Testing Certifications: Mercury,Segue,Rational & Empirix .

Categories: Testing

India to emerge as global leader in software testing

February 20, 2008 Manish Bhatpude 13 comments

India according to reports has the potential to garner 70% share of the outsourced testing market.

India is on its way to becoming a leader in the software testing market with more and more companies outsourcing their software testing services to the India that has a large availability of testers. Over the last few years, the Indian players have proved that they can offer testing services at a fraction of the cost. Software testing, makes sense, since it costs a lot of money and time to find and fix the software bugs or errors in software, once the product is released in the market. Software bugs cost the US economy an estimated $59.5 billion annually, which is equivalent to 0.6 per cent of its gross domestic product. Users and the developers end up paying for the bugs in the software. This loss can be reversed if the companies invest in timely and high quality software testing.

However, software testing is not a new phenomenon, but has been a part of any software development or maintenance process. Companies tested the product in-house by establishing separate testing divisions. This was known as detached testing where the testing team did not consist of developers who wrote the codes and therefore they could test the product better.

However, many companies cannot afford to set up a separate testing division. This is where outsourcing comes in. The companies who cannot invest in a specialised testing division have turned to independent software testing providers in offshore locations like India. Outsourcing software testing services has its distinct advantages. Companies who outsource testing service enjoy a reduced cycle time, a shorter time to market and a high quality of service at a far lower cost. Besides,a third party tester is more like a beta user of the product, who can study the software programme and find critical faults. A majority of the companies, in the US, Europe and Japan, are now outsourcing testing services either to their own subsidiaries or independent testing companies. Research firm Gartner estimates the worldwide software testing market at $13 billion and the global market size of outsourced testing services is around $6.1 billion. India according to reports has the potential to corner 70% share of the outsourced testing market. A META Group study reveals that the software testing market in India will touch $700 million to $1 billion by 2007. The top ten IT firms in India including Infosys, Wipro, Cognizant Technology Solutions and Tata Consultancy Services (TCS) have been quick in creating independent testing practices in-house. Testing is however increasingly being seen as a specialised service. IT companies have started positioning themselves as independent software testing (IST) services providers, offering software testing as a standalone service. There are roughly ten IST players in India of a reasonable size with a combined turnover of around Rs 200 crore. The leaders include RelQ, ThinkSoft, ReadyTestGo, Maveric, Applabs, Polaris Application Certification Enterprise (PACE), IQA Tester and Stag Software.

Testing is now comparable with other IT services in terms of billing rates and compensation levels of testing professionals. The testing service market in India is booming with the rapid expansion of Indian IST firms.However, the challenge these companies face is in finding the right talent. Testing requires a good knowledge of the testing process and knowledge of the domain the product operates in. This kind of talent is not easily available. The testing industry does not have the support of training academies that focus on testing. IST firms at present depend entirely on in-house capabilities to train beginners. The problem of finding talented testing professionals is compunded by the fact that IT professionals view software testing industry as a stop gap arrangement. To the industry’s relief, this perception is changing gradually with more and more IT professionals looking at software testing as a serious career option.

Source : Express Computer

Categories: Testing

JavaScript Error

February 19, 2008 Manish Bhatpude Leave a comment

This page explains what a JavaScript error is and how to deal with it.

Most internet users have encountered the annoying JavaScript error at some stage. This happens when a script in a web page contains an error or fails to execute correctly. Exactly what happens depends on the browser and type of error, but in most cases some sort of error notification will be displayed.

The Error Message

test1

In Internet Explorer’s default setting, a small warning icon appears in the status bar like the one pictured left. Double-click this icon to display a window with the complete error message. The complete error message looks something like this:

test

Note: If you see a less detailed version of this window, click the “Show Details” button.You can choose to have this error window appear automatically whenever an error occurs. This could be annoying for general surfing, but it is very useful when writing your own JavaScript. This is because the error message always lets you know when something is wrong with your code, and even better, it usually tells you exactly where in the HTML document the problem lies (in the above example, line 71 character 1).

What to Do When You See an Error

If you are visiting a website which shows an error, you obviously can’t fix it but if you’re feeling generous you might like to contact the webmaster and let them know. You can still view the page (disabling automatic error messages will make it easier), but whatever the script was supposed to do won’t work. This may or may not effect on the functionality of the page.If you are the webmaster, you need to understand what the error message is telling you and fix it. Keep reading….



How to Fix JavaScript Errors

There are two types of JavaScript error:

·    Syntax Error: Occurs when there is a mistake in the way the code is written; for example, a typo or missing character.

·    Runtime error: Occurs when the script is unable to complete its instructions; for example, if a specified object cannot be found.

Syntax Error

The function below contains an error and will result in the error message as pictured. In this case the message tells you that a closing parenthesis is missing.

function showAlert() {
alert('Hello World!';
}

t2 

Not all error messages are as clear as this but once you’ve seen a few (and you will see a few!) you’ll start to recognise what they mean.

Read more…

Categories: Uncategorized

How to send large attachments via email

February 13, 2008 Manish Bhatpude Leave a comment

transferbigfile.jpg 

If you want to send large files via emails,then you can’t do it with Gmail or Yahoo because they the restriction of 20 MB max file attachments.Here is the new service which will allow the users to email the files of size up to 2 GB,yes 2 GB.

This is transferbigfiles.com which will allow any body to send files up to 2 Giga bytes in size.By this you can send movies,mp3,video files which are generally large in size, without splitting.This is very easy to use ‘file sharing service’.What you have to do is to just upload your files to the site and insert the email addresses to which to want to send these files.

Categories: General

20 Websites That Can Change Your Life

February 11, 2008 Manish Bhatpude 1 comment

The internet has changed all of our lives, hopefully in a more positive direction. You can use these sites just for entertainment or you can use them to change your life. Many of them you visit all the time but it’s time to look at them another way and harness their power.*These are in no particular order.

1 – Facebook – Facebook allows you to reconnect with old and new friends. In the case of Lori Haas, facebook helped Lori reunite with her son that she gave up for adoption when she was just 17. (Full Story)

2 - Myspace – This is the most popular social network on the web, even though it has the most spam. Some absolutely hate myspace, but others have used it to launch their careers. Many singers and musicians have achieved “overnight” success using the network. Like facebook you can connect with friends but myspace makes it easier for networking with people you don’t know and create new business contacts.

3 – Digg – many will agree with this choice, while others will strongly disagree. But Digg can open you up to a whole new realm of news. You can visit the homepage once a day and instantly become up to date on what’s going on in the world. You can use Digg to your advantage, find the latest trends in business or find articles on improving your life.

4 – Kiva – Kiva is a lending site that helps entrepreneurs in developing countries finance their ventures. It doesn’t take much to help someone out. By changing others you can change yourself.

5 – Lifehack.org – Lifehack can help you get things done. This blog has in depth articles on all things that do with productivity.

6 – YouTube – If you want to work in the entertainment industry, YouTube is a great way to get your feet wet and at a very low cost. You have an audience of millions of people at your disposal.

7 – Google – This is an obvious one. I really don’t know how we lived without Google in the early days of the internet.

8 – Twitter – Twitter may someday save lives by people quickly alerting others of dangerous situations to avoid. During the California fires, people used Twitter to let friends know that they were safe. You can also use Twitter as a way to help with your business networking by knowing where your business contacts are at.

9 – eBay – eBay can save you a lot of money but can also bring you immense opportunities. You can easily create an online business that reaches millions of buyers. Many people have very successful million dollar enterprises using ebay.

10 – Ancestry.com – This website can help you piece together your family history. By understanding the past your can change the future. * Many readers have expressed concerns about the business practices of Ancestry.com. Please read comments below and be sure to check any complaints about Ancestry.com or any other business before working with them.

*11 – Zen Habits – This blog is similar to Lifehack.org by offering simple productivity to get the most of your life.

12 – Craigslist – You can find almost anything on Craigslist. It’s a simple site but can simply change your life.

13 – Post Secret – The Post Secret project shows you that we’re all very much the same. It can also show you that others may have worse problems than the ones your facing.

14 – LinkedIn – You can use LinkedIn to network with professionals from all areas of business including Fortune 500 companies.

15 – TED.com – This website is full of various videos from TED conferences and has biographies on some of the greatest thinkers of present time. Presentations from successful people such as Tony Robbins, Richard Branson, Jeff Bezos, Bono, Seth Godin, and Jane Goodall. Most videos are a few minutes long but can empower you for years to come.

16 – Wikipedia – Not everything on Wikipedia is accurate but there is so much information on almost every topic possible. Don’t know about something, just look it up on Wikipedia and within a few minutes you can be informed.

17 – The Fastlane to Millions – This is a relatively new and small forum for those who are or aspire to be entrepreneurs and millionaires. The members are very positive and want to help each other get the most out of life.

18 – Second Life – This virtual world may seem like a virtual waste of time but some people such as Anshe Chung have found opportunities limitless on Second Life. Anshe has become a millionaire by buying and selling virtual real estate.

19 – Quoteland – You can visit Quoteland and read hundreds of quotes that will give you a fresh perspective and change your life in minutes. If you have an open mind.

20 – 43 Things – 43 Things can be a great way to achieve your goals. You can post your dreams and aspirations for all to see. Having that type of pressure can be very positive for you, helping you continue till you reach your goals.

* 21Stumble Upon – This has been requested by readers to be added to the list. Stumble Upon can change your life and help you discover so many new websites you would never be able to otherwise.

* 22del.icio.us – This site has also been demanded to be added to the list. So since many have found Lyved via del.icio.us, it must be an addition. Maybe someone from del.icio.us can change their life after visiting Lyved.What sites have been most beneficial to you or changed your life? Leave a comment below. 

Categories: General

How to be like Google

February 7, 2008 Manish Bhatpude 1 comment

logo.gif 

Google was started in 1996 by Sergey Brim and Larry Page as a project at Stanford University. In September of 1997 the domain name, google.com was registered and in September 1998 the company was incorporated. Google started out in garage but quickly grew into the company we know today. Google’s rapid success is amazing even by dotcom standards. If you are launching an internet venture, Google’s story is where you can look for motivation and inspiration. Even if your aren’t, Google can teach you how to go about your life and succeed beyond your wildest dreams.

Be simple

Google was not the first internet search engine, but while other sites were offering too much on their portals, Google presented a simple page with a simple search bar. You should do the same, simplify yourself and your life. Don’t be a complicated person. The more complicated you are, the less people will understand you. The easier you are to understand, the easier it will be for you to convey ideas and points, and for you to make friends and contacts.

Expand yourself

Though Google has a simplified homepage, they have expanded into various areas of the internet and media. You should do the same. Don’t limit yourself, each of us has multiple talents, some talents we just need to take time to discover.

Feel lucky

“I’m Feeling Lucky” is a button next to the search button but it’s something that you should always feel. Feel lucky about what you do and don’t have. Appreciate your life and those around you. You have great things in your life whether you have money and success or don’t.

Innovate

Google has changed the internet and the business world. You should innovate yourself and the world around you. There is always something that needs to be improved, no matter where you look. If you look around your computer desk right now, I’m sure there’s something that can be improved and can make you successful.

Be bigger than anyone expected

There will always be naysayers and people that will downplay your dreams and aspirations. Push them aside but always keep them in mind, you’ll need them for motivation to keep you going so that you can prove them wrong. It’s easier to be the underdog.

Surround yourself with smart people

Google has thousands of employees but they continue to hire smart people. You will need to do this too. Surround yourself with smart people, they’ll bring you great ideas, fill in the voids you can’t, and some of their knowledge may rub off on you.

Don’t be evil

This is Google’s own slogan. The motto was established by GMail creator Paul Buchheit. It’s just a few words and a simple idea but it can make or break your chance at success. No one is going to want to work with you if you’re an evil person. Be friendly and be welcoming to people and customers.

Take care of people

Google’s employees enjoy amazing perks for working there. Including a beautiful environment and relaxing atmosphere to work in, among other things. Most employees would never think of leaving Google because of this. You should take of people as well, whether you know them or not. They will repay you by working harder, by helping you out when you need a hand, or just by increasing your good karma.
By following these rules, Google has become a $150 billion company in a short amount of time. These rules work in the business world but can also work in the rest of the world.

Categories: Uncategorized

Download online video – use Converttube.com

February 6, 2008 Manish Bhatpude 1 comment

achicarimg.jpg 

This service allows you convert an Online Video like ‘YouTube videos’ to more popular formats like wmv, mov, mp4, mp3, 3gp etc.All you have to do is copy and paste the UR L of whatever video you want to download into the ConvertTube text box.

Check what you want to convert for—choose from Windows, Mac, Mobile, Flash, Audio, or Pod/iPhone/PSP. Finally, hit the convert and download button, and you’ve got yourself a copy of your favorite video. It’s effortless and it’s absolutely free.

Categories: General

Test Plan

February 5, 2008 lokeshahire Leave a comment

The test strategy identifies multiple test levels, which are going to be performed for the project. Activities at each level must be planned well in advance and it has to be formally documented. Based on the individual plans only, the individual test levels are carried out.

Entry means the entry point to that phase. For example, for unit testing, the coding must be complete and then only one can start unit testing. Task is the activity that is performed. Validation is the way in which the progress and correctness and compliance are verified for that phase. Exit tells the completion criteria of that phase, after the validation is done. For example, the exit criterion for unit testing is all unit test cases must pass.

Unit Test Plan {UTP}

The unit test plan is the overall plan to carry out the unit test activities. The lead tester prepares it and it will be distributed to the individual testers, which contains the following sections.

What is to be tested?

The unit test plan must clearly specify the scope of unit testing. In this, normally the basic input/output of the units along with their basic functionality will be tested. In this case mostly the input units will be tested for the format, alignment, accuracy and the totals. The UTP will clearly give the rules of what data types are present in the system, their format and their boundary conditions. This list may not be exhaustive; but it is better to have a complete list of these details.

Sequence of Testing

The sequences of test activities that are to be carried out in this phase are to be listed in this section. This includes, whether to execute positive test cases first or negative test cases first, to execute test cases based on the priority, to execute test cases based on test groups etc. Positive test cases prove that the system performs what is supposed to do; negative test cases prove that the system does not perform what is not supposed to do. Testing the screens, files, database etc., are to be given in proper sequence.

Basic Functionality of Units

How the independent functionalities of the units are tested which excludes any communication between the unit and other units. The interface part is out of scope of this test level. Apart from the above sections, the following sections are addressed, very specific to unit testing.

Unit Testing Tools

Priority of Program units

Naming convention for test cases

Status reporting mechanism

Regression test approach

ETVX criteria

Integration Test Plan

The integration test plan is the overall plan for carrying out the activities in the integration test level, which contains the following sections.

What is to be tested?

This section clearly specifies the kinds of interfaces fall under the scope of testing internal, external interfaces, with request and response is to be explained. This need not go deep in terms of technical details but the general approach how the interfaces are triggered is explained.

Sequence of Integration

When there are multiple modules present in an application, the sequence in which they are to be integrated will be specified in this section. In this, the dependencies between the modules play a vital role. If a unit B has to be executed, it may need the data that is fed by unit A and unit X. In this case, the units A and X have to be integrated and then using that data, the unit B has to be tested. This has to be stated to the whole set of units in the program. Given this correctly, the testing activities will lead to the product, slowly building the product, unit by unit and then integrating them.

System Test Plan {STP}

The system test plan is the overall plan carrying out the system test level activities. In the system test, apart from testing the functional aspects of the system, there are some special testing activities carried out, such as stress testing etc. The following are the sections normally present in system test plan.

What is to be tested?

This section defines the scope of system testing, very specific to the project. Normally, the system testing is based on the requirements. All requirements are to be verified in the scope of system testing. This covers the functionality of the product. Apart from this what special testing is performed are also stated here.

Functional Groups and the Sequence

The requirements can be grouped in terms of the functionality. Based on this, there may be priorities also among the functional groups. For example, in a banking application, anything related to customer accounts can be grouped into one area, anything related to inter-branch transactions may be grouped into one area etc. Same way for the product being tested, these areas are to be mentioned here and the suggested sequences of testing of these areas, based on the priorities are to be described.

Acceptance Test Plan {ATP}

The client at their place performs the acceptance testing. It will be very similar to the system test performed by the Software Development Unit. Since the client is the one who decides the format and testing methods as part of acceptance testing, there is no specific clue on the way they will carry out the testing. But it will not differ much from the system testing. Assume that all the rules, which are applicable to system test, can be implemented to acceptance testing also.

Since this is just one level of testing done by the client for the overall product, it may include test cases including the unit and integration test level details.

A sample Test Plan Outline along with their description is as shown below:

Test Plan Outline

1. BACKGROUND :

This item summarizes the functions of the application system and the tests to be performed.

2. INTRODUCTION :

This item summarizes the introduction of the application system.

3. ASSUMPTIONS :

Indicates any anticipated assumptions which will be made while testing the application.

4. TEST ITEMS :

List each of the items (programs) to be tested.

5. FEATURES TO BE TESTED :

List each of the features (functions or requirements) which will be tested or demonstrated by the test.

6. FEATURES NOT TO BE TESTED :

Explicitly lists each feature, function, or requirement which won’t be tested and why not.

7. APPROACH :

Describe the data flows and test philosophy.
Simulation or Live execution, Etc. This section also mentions all the approaches which will be followed at the various stages of the test execution.

8. ITEM PASS/FAIL CRITERIA Blanket statement :

Itemized list of expected output and tolerances.

9. SUSPENSION/RESUMPTION CRITERIA :

Must the test run from start to completion?
Under what circumstances it may be resumed in the middle?
Establish check-points in long tests.

10. TEST DELIVERABLES :

What, besides software, will be delivered?
Test report
Test software

11. TESTING TASKS Functional tasks (e.g., equipment set up):

Administrative tasks

12. ENVIRONMENTAL NEEDS :

Security clearance
Office space & equipment
Hardware/software requirements.

13. RESPONSIBILITIES :

Who does the tasks in Section 10?
What does the user do?

14. STAFFING & TRAINING :

15. SCHEDULE :

16. RESOURCES :

17. RISKS & CONTINGENCIES :

18. APPROVALS :

The schedule details of the various test pass such as Unit tests, Integration tests, System Tests should be clearly mentioned along with the estimated effort.

Posted By – Lokesh Ahire.

Categories: Testing

Ten Usability Heuristics

February 2, 2008 Manish Bhatpude 1 comment

These are ten general principles for user interface design. They are called “heuristics” because they are more in the nature of rules of thumb than specific usability guidelines.

  1. Visibility of system status

The system should always keep users informed about what is    going on, through appropriate feedback within reasonable time.

    2. Match between system and the real world

The system should speak the users’ language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.

     3. User control and freedom

Users often choose system functions by mistake and will need a clearly marked “emergency exit” to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.

   4. Consistency and standards

Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.

  5.  Error prevention

 Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.  

6. Recognition rather than recall

Minimize the user’s memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.

  7. Flexibility and efficiency of use

Accelerators — unseen by the novice user — may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.

   8.  Aesthetic and minimalist design

Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.

   9. Help users recognize, diagnose, and recover from errors

Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.

   10. Help and documentation

Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user’s task, list concrete steps to be carried out, and not be too large.

Posted By: Kuntal Warty

Categories: Testing

Usability

February 1, 2008 Manish Bhatpude 1 comment

Form


The following criteria can help you decide whether to present a form or a more interactive design:
• Complexity of requested information. If the data request is a no-brainer that people can supply without further ado, use a form. If users need to think and/or refer to supporting materials, use an application (and provide features for accessing the supporting materials).
• Number of steps. If the steps are few, use a form. If they are many, structure them into a natural workflow split across multiple steps.
• Conditional areas. If all questions and options are always the same, use a form. If the users’ subsequent entries depend on their actions in previous steps, use an application and present only the options relevant for each step.
• Linearity. Conditional areas are one example of non-linearity, but there are others. If users clearly proceed in a linear sequence and never need to revisit or revise previous steps, use a form. If steps don’t depend on each other, use a form. If users need to jump between steps or complete steps in an unpredictable sequence, use an application.
• Cut any questions that are not needed. For example, do you really need a salutation (Mr/Ms/Mrs/Miss/etc.)?
• Don’t make fields mandatory unless they truly are.
• Support auto fill to the max by avoiding unusual field labels (just use Name, Address, etc.).
• Set the keyboard focus to the first field when the form is displayed. This saves a click.

Font Size

• Most web designers are young, and so have perfect vision. Tiny text doesn’t bother them as much as it bothers people on the other side of 40. Designers also tend to own expensive, high-quality monitors that are easier on the eyes.
• While creating a website, designers don’t actually read the information on the pages. They simply glance at the text to make sure it looks great. In fact, many designs are approved with “lorem ipsum” standing in the place of real copy. When you don’t have to read the words, it doesn’t matter that the characters are small.
• Do not use absolute font sizes in your style sheets. Code font sizes in relative terms, typically using percentages such as 120% for big text and 90% for small text.
• Make your default font size reasonably big (at least 10 point) so that very few users have to resort to manual overrides.
• If your site targets Senior Citizens use bigger default font sizes (at least 12 point).
• If possible, avoid text that’s embedded within a graphic, since style sheets and font size buttons don’t have any effect on graphics. If you must use pictures of text, make sure the font size is especially large (at least 12 point) and that you use high-contrast colors.
• Consider adding a button that loads an alternate style sheet with really big font sizes if most of your site’s visitors are senior citizens or low-vision users. Few users know how to find or use the built-in font size feature in current browsers, and adding such a button within your pages will help users easily increase text size. However, because every extra feature takes away from the rest of the page, I don’t recommend such a button for mainstream websites.
 Maximize the color contrast between the text and the background (and do not use busy or watermarked background patterns). Despite the fact that low-contrast text further reduces readability, the Web is plagued by gray text these days.
• About two-thirds of the voters complained about small font sizes or frozen font sizes; about one-third complained about low contrast between text and background.

Links

• Make obvious what’s clickable: for text links, use colored, underlined text (and don’t underline non-link text).
• Differentiate visited and unvisited links.
• Explain what users will find at the other end of the link, and include some of the key information-carrying terms in the anchor text itself to enhance scan ability and search engine optimization (SEO). Don’t use “click here” or other non-descriptive link text.
• Avoid JavaScript or other fancy techniques that break standard interaction techniques for dealing with links.
• In particular, don’t open pages in new windows (except for PDF files and such).
• Links are the Web’s number one interaction element. Violating common expectations for how links work is a sure way to confuse and delay users, and might prevent them from being able to use your site.
Search

Search is such a prominent part of the Web user experience that users have developed a firm mental model for how it’s supposed to work. Users expect search to have three components:
1. A box where they can type words
2. A button labeled “search” that they click to run the search
3. A list of top results that’s linear, prioritized, and appears on a   new page — the search engine results page (SERP)
• Search lets users control their own destiny and assert independence from websites’ attempt to direct how they use the Web. Testing situations routinely validate this. A typical comment is: “I don’t want to have to navigate this site the way they want me to. I just want to find the thing I’m looking for.” This is why many users go straight to the home page search function.
• Search is also users’ escape hatch when they are stuck in navigation. When they can’t find a reasonable place to go next, they often turn to the site’s search function. This is why you should make search available from every page on the site; you cannot predict where users will be when they decide they are lost
• On home pages, search should be a type-in field and not a link.
• The search input field should be wide enough to contain the typical query; if the box is too small, the query will scroll and diminish usability
• Interior pages may use a search link if they have a very simple design; complex interior pages should use a search box.
 Emphasize your search engine’s ability to handle single-word queries and very short multi-word queries and still produce high-quality results.
• Do not offer advanced search from the home page. Advanced search leads users into trouble, as they invariably use it wrong. When it makes sense, offer advanced search as an option users can link to from the search results page: “Didn’t find what you were looking for? Try advanced search.”

Applications


• Focus. By breaking up the workflow into multiple steps, users can focus on one topic at a time. They’re thus potentially less distracted and overwhelmed by other screen elements competing for their attention. For this to be a benefit, you obviously have to modularize the application in ways that make sense to users and minimize the need to refer to information contained in other areas.
• In-context help. Because you have fewer items on the screen, you can afford to clearly explain each one. You can supplement buttons and menus with text and examples that illustrate their proper use. Having this information on the main screen is preferable because users dislike going off to separate help screens. When you can’t avoid a help screen, applications let you at least make it more helpful by relating the help text to the current step of the user’s workflow.
• Avoiding scrunched screen elements. A second advantage of having fewer items on each screen is that your layout is less burdened by space constraints. For example, you can avoid drop-down menus and tiny scrolling list boxes. Instead, present lists of selectable items in a more expansive menu where all items are visible simultaneously. This makes selection faster and less error-prone.
• Eliminating irrelevant steps. Users never need to see questions and options that don’t apply to them. If, for example, your business logic requires you to know whether customers are married, don’t show single customers questions relating to the spouses they don’t have. Forms get both longer and more complicated when users have to read instructions like “If you answered “yes” to Question 25, then complete Question 26. Otherwise skip to Question 27.”
• Flexible workflow. With applications, you can let users work on different parts of the problem in a sequence that makes sense to them. You can also let them refer to supporting data sources in this process. If an accounts payable application needs a vendor number to process a payment, for example, you can fire up a search interface so users can locate vendors by name and automatically transfer the numbers and any additional information from one application to the other. (Generally, if you’re observing users during field studies and see them write down information from one screen on a note pad, only to retype it on another screen, you’ve identified an opportunity to improve productivity and reduce errors by automating the data transfer.)
• Providing feedback. Take advantage of programmability and restate users’ actions and choices to confirm how the computer will interpret them. For example, if users must enter a vendor number, give them feedback by stating the vendor’s name. This will drastically reduce errors from mistyped vendor numbers.
• Customizability. If an application will be used repeatedly, you can let users add shortcuts for common actions. For example, an expense reporting application might require users to enter driving distances to get reimbursement for personal automobile use. If an employee often travels the same routes (say, to the airport or an important customer site), the application could provide one-click access to frequently used distances and list them by name (say, “office to JFK”).
• Interaction elements beyond boxes and buttons. Applications let you employ all the GUI innovations, from using slides to asking users to mark areas of interest on an image.

Categories: Testing