Basic funda of QA (Testing )
Thursday, September 4, 2008
Basic Guidelines and Checklist for Website Testing
Ø Functionality
Ø Usability
Ø User Interface
Ø Serverside Interface
Ø Compatibility
Ø Security
Ø Performance
Description :
Ø Functionality :
1.1 Links
Objective is to check for all the links in the website
1.1.1 All Hyperlinks
1.1.2 All Internal links
1.1.3 All External links
1.1.4 All Mail links
1.1.5 Check for orphan pages
1.1.6 Check for Broken links
1.2Forms
Check for the integrity of submission of all forms
1.1.7 All Field level Checks
1.1.8 All Field level Validations
1.1.9 Functionality of create,modify,delete and view
1.1.10 Handling of wrong inputs
1.1.11 Default values if any (standard)
1.1.12 Optional Versus Mandatory fields
1.3 Cookies
Check for the cookies that has to be enabled and how it has to be expired
1.4 Web Indexing
Depending on how the site is designed using metatags, frames, HTMLsyntax, dynamically created pages, passwords or different languages, our site will be searchable in different ways
1.4.1 Meta Tags
1.4.2 Frames
1.4.3 HTML syntax
1.5 Database
Two types of errors that may occur in web application
a) Data Integrity : Missing or wrong data in table
b) Output Errors : Errors In writing ,editing or reading operation in the table
Ø Usability :
How simple customer can browse the website
2.1 Navigation
Navigation describes the way user navigate with in a webpage, between different user interface controls (buttons, text boxes, combo boxes, dropdown lists ...etc)
2.1.1 Application navigation is proper through tab (key board)
2.1.2 Application navigation through mouse
2.1.3 Main features accessible from the main/home page (mother window)
2.1.4 Any hotkeys, control keys to access menus
2.2 Content
Correctness is whether the information is truthful or contains misinformation. The accuracy of the information is whether it is without grammatical or spelling errors. Remove irrelevant information from your site this may otherwise cause misunderstanding or confusion
2.2.1 Spelling and grammar
2.2.2 Updated information (contact details mail IDs help reports)
2.3 General appearance
2.3.1 Page appearance
2.3.2 Colour, font size
2.3.3 Frames
2.3.4 Consistent Designs
2.3.5 Symbols and logos (localization)
User Interface :
All about how exactly website looks like (view)
Basic guidelines for web User interface (Microsoft)
3.1 Verify whether screen resolution been taken in to account while using browser, will the UI resize itself as you maximize/minimize this must be tested with various screen resolutions
3.2 verify whether the number of ‘controls’ per page have been checked, generally 10 is a good number
3.3 Where there are options to choose from, user should be forced to choose from a set of radio buttons and the default should be pointing at default message (none, select one..etc)
3.4 Every dropdown box should have the first choice as NONE (it could be any other meaningful sentence such as ‘Choose one’ or ‘select’
3.5 Ensure persistency of all values, when you enter values in a form, and move on the next page and then return to change one of the previous screen .The users must not be forced to re-enter all the values once again, this must be checked and ensured
3.6 Horizontal scrolling is not preferable in general .Avoid using horizontal scroll bar Ensure that the use of vertical scroll bar is judicious
3.7 Consider the use of pagination where appropriate.
3.8 Ensure that ‘shift click’ ‘control click ‘work in list boxes, clarify these features work in both browsers
3.9 The location of buttons (OK and Cancel) should be at the right hand bottom side of a screen and consistent.
3.10 Clarify whether encryption of the password occurs from your login page all the way to the backend (the login page must not transmit clear –text password)
3.11 Illegal operations should give popup messages (message should be simple & clear)
3.12 Verify if there is a requirement to use image maps in the application (does net scape support this well
3.13 positive popup messages should be displayed (submitted, deleted, updated, done and cleared)
3.14 Ensure that you have multiple check boxes when multiple selections is to be performed
3.15 Avoid long scrolling drop down list make it short
3.16 website URL should be small and simple
Serverside Interface :
4.1 Serverside Interface
4.1.1 Verify that communication is done correctly, web server-application server, application server-database sever and vice versa
4.1.2 Compatibility of server software, hardware, network connections
4.1.3 Database compatibility
4.1.4 External interface if any
Client side Compatibility:
5.1 platforms
Check for the website compatibility with
5.1.1 Windows (95, 98, 2000, NT)
5.1.2 Unix
5.1.3 Linux
5.1.4 Macintosh (if applicable)
5.1.5 Solaris (if applicable)
5.2 Browsers
5.2.1 Internet Explorer (5.x, 6.x)
5.2.2 Netscape Navigator (5.x, 6.x)
5.2.3 AOL
5.2.4 Browser settings (security settings graphics, java etc..)
5.2.5 Frames and cascade style sheets
5.2.6 HTML specification
5.3 Graphics
of images graphics, etc.
Security :
6.1 Valid and invalid login
6.2 limits defined for the number of tries
6.3 Can it be bypassed by typing URL to a page inside directly in the browser?
6.4 verify log files are maintained to store the information for traceability
6.5 verify encryption is done correctly if SSL is used (if applicable)6.6 No access to edit scripts on the server without authorization
Wednesday, August 20, 2008
Product Testing Fundas & FAQ's
Product testing is the process used to identify the correctness, totality, security, and quality of a developed product, be it a software, a website, or anything within the realms of IT. Testing can never completely establish the correctness of arbitrary computer software and in the theory of computability, it is impossible to solve the halting problem, the question of whether an arbitrary computer program will enter an infinite loop, or halt and produce output. In other words, testing is nothing but criticism or comparison, which is comparing the actual value with the expected one.
1. What is the difference between . NET testing & Java testing?
There is not much difference in .Net and Java Testing if you are testing web application only change in particular template level. But if you are testing a dotnet Product or Java Product. Then for testing you required compatible DLL files, mean in general you have make complete Test bed according to technology.
some more explanation i will post in this topic.
Santosh Malvi (Courtesy : geekinterview.com)
2. If you add a new object or a new module for the existing application then how will you test the application?
First we will test the functionality of the new object or new module and then test the new object functionality with respect to other old functionalities in the application (i.e, whether the data flow between the modules are fine or not). And then check out whether any other new bugs which appears due to the new functionality added to the application
Rajagopal
3. What is the difference between testing a product and testing any web -based application?
if product is a client based one then there is difference between this both but if the product is web based then no difference in my view product is build by company and kept for sale as to be sold by customers who needs them and product will be customized as per required changes (if needed) and sold to customer. in sense your question is some what confusing as it should product testing Vs project testing otherwise web testing Vs client server testing
Allabaksh (Courtesy : geekinterview.com)
4. What is the difference between product testing and project testing?
Product testing : Product testing is the branch of engineering concerned with the experimental, developmental, and performance characteristics of product . In other words It is develop by the organization and marketing by the company IT selfs.
Project testing: A project manager drafts a project definition, but its development is a team effort. The definition is an agreement among key participants in a project, and must have input from all of those participants.
In other words project testing is done according to the client requirement. The modification and change has to made according in some case.
Sudhakar kolla
5. What is alpha testing?
A: Alpha testing is final testing before the software is released to the general public. First, (and this is called the first phase of alpha testing), the software is tested by in-house developers. They use either debugger software, or hardware-assisted debuggers. The goal is to catch bugs quickly. Then, (and this is called second stage of alpha testing), the software is handed over to us, the software QA staff, for additional testing in an environment that is similar to the intended use.
6. What is beta testing?
A: Following alpha testing, "beta versions" of the software are released to a group of people, and limited public tests are performed, so that further testing can ensure the product has few bugs. Other times, beta versions are made available to the general public, in order to receive as much feedback as possible. The goal is to benefit the maximum number of future users.
7. What is the difference between alpha and beta testing?
A: Alpha testing is performed by in-house developers and software QA personnel. Beta testing is performed by the public, a few select prospective customers, or the general public.
8. What is the basic difference between Product testing and Application Testing?
Ans: Product testing is just like black box testing in this u no need to test the coding just u wants to see whether the product meets expected with actual but application testing u need some knowledge of software language
(Or)
Clear definition of product is ex: software released to the market Whereas application is also software developed to particular client for his requirements. Whereas a product is in market for all the people needed.
Or
Application is software developed to particular client for his requirements. Whereas a product is for all the people needed.
9. What is SDLC in Product based company?
Pnaveen (Courtesy : geekinterview.com)
Tuesday, August 19, 2008
Basic Definitions of Testing
What is 'Software Testing'?
Testing involves operation of a system or application under controlled conditions and evaluating the results (e.g., 'if the user is in interface A of the application while using hardware B, and does C, then D should happen'). The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn't or things don't happen when they should. It is oriented to 'detection'.
What is 'Software Quality Assurance'?
1)Software QA involves the entire software development PROCESS
2) monitoring and improving the process,
3) standards and procedures are followed
4) ensuring that problems are found and dealt with. It is oriented to 'prevention'.
Testing vs. Quality Assurance:
Quality Assurance is the process of making sure that the customers gets enough of what they pay for to satisfy their needs. Testing is the means by which we perform the process. You can test without assuring quality, but you can't assure quality without testing.
What is Quality Control (QC) ?
Consists of monitoring, controlling and other tactical activities associated with the measurement of product quality goals.
What is Verification?
“Verification” checks whether we are building the right system, and Verification typically involves reviews and meetings to evaluate documents, plans, code, requirements, and specifications. This can be done with checklists, issues lists, walkthroughs, and inspection meetings.
What is Validation?
“Validation” checks whether we are building the system right. Validation typically involves actual testing and takes place after verifications are completed