Sunday, October 21, 2012

Agile Testing

Agile as the name refers something to do very quickly. Agile approach is like dynamic approach.

Now days most of the company following agile methodology. Because it really useful to delivered the project short period of the time.

The advantage of Agile methodology is saving time, money and less documentation required.

Face to face conversation which really best form of communication.

Agile approach is iterative form – Daily meeting, feedback , discussion which help to determine the issue well in advance and work on it accordingly.

In Agile testing tester can influence to developer to think about testability in their code.

Tester can talk directly to PM regarding new requirement, clarification about requirements.

An agile tester must be able to communicate with all roles and levels of an organization in order to gather information from all available sources.

Tester need to be active in planning meeting, regular discussion. If you find a bug talk directly with developer.

There are so many agile method out there Like:
1.Scrum
2.Extreme programming
3.Agile modelling

Wednesday, October 3, 2012

Benefits of Automation Testing

There is no comparison between manual testing and automation testing.

Each one has their own benefit. There is some circumstance where manual fails to do , then automation come in picture.

Automation testing tool test Website , Apps significantly faster than human user.

There are web site, products, apps which comes in version, so using automation testing tool we can reuse the same test again and again on different version. Which reduce your time and work too:)

Some of Automation testing tool like QTP, Selenium reliable;because Test perform the same operation each time tool run;so therefore eliminate human error.

Performing same test on particular application you can test how the application react to doing repeated execution of same operation.

Even you can program test, which can bring out hidden information.

So reduce your burden of same work using automation tool. Or else start writing test program using automation tool..

Sunday, September 30, 2012

What is I18N and L10N

International Testing is also called as I18N because there are 18 characters between I and N in Internationalization.

International testing make sure that GUI and Functionality of the application will not be broken with translated text. I18N more related to the design. There should not be any hardcoded format of element like date, currency etc.

Localization Testing is also called as L10N because there are 10 characters between L and N in Localization. We say localization when we develop particular apps or web for only specific region then it called L10N.

In Localization testing we test the apps,web for particular language, it incorporate cultural information such as time ,date, currency etc.L10N is more related to the text and actual data.

International and Localization testing make sure that product is ready for global market .Each testing serve different purpose.

Related Document:
How to test multilingual website?

Thursday, September 20, 2012

Bug Quality important than Quantity



I am writing this post today, why the Quality is important than the Quantity.
Let me explain you, there were four tester in one project oh… am I telling you story...So big no :) There were four tester in one project.Everybody was doing their job. Finding bug after developer gives module to them for testing. Everybody started hunting the bug in that module; some of succeeded to find more than one bug and some not. In that group of four tester three tester find more than one bug but only one tester succeeded  to find just one bug , after bug reporting done those who find more than one bug some of the bug got approved by test manager but some of not …but the tester who just find only one bug in that particular module he got appreciation for that bug because that bug was quality bug .See I am not saying that low and medium bug does not have any value ;even the bug which has low severity & priority same for medium, for us it is bug, even I am not saying find only just one bug.

I am saying that do not hurry to just filing  & increasing the count of bug, because some time tester find the bug which is not related with that module , sometime it’s out of scope , some bugs are duplicate. Make sure when you find bug understand scope, module everything  first..

Try that how can you increase the quality of module, project …Yeah..now some Tester will say tester should   break the software but breaking software mean what?.. You are finding loop holes, you are finding defect, why you are doing this? Because you need to take the module, product towards the quality so just not be hurry to filing bug and increasing bug count. Take more interest to finding valuable bug quality bug.

Wednesday, September 12, 2012

How to test multilingual website?


In Globalization apart from English in other languages also the website get developed and which is really good for customer, user who can access the site in their own language and it good for boarder global reach. Now the question is  how to test of Multilingual website?


  • Start from basic preparation, which includes all necessary text translated.



  • In linguistic testing check language problem like typos error, terminology that inappropriate in a specific content.




  • Find which character encoding use, and that you can find in your browser.

            Mozilla:Go to View >>Character Encoding
            Internet Explore: Go to View >>Encoding
            Chrome: Click on wrench icon on the browser toolbar>>Select Setting>>Click on show advance     setting>>there you find language setting.


  • Different spoken languages have had different character encodings associated with them. For Eg: Japanese content may have been encoded with SHIFT_JIS; Simplified Chinese with GB2312 etc. These language specific encodings are sometimes referred to as "native" encodings. 


        Generally UTF-8 supports nearly every spoken language and it also very well supported by all modern    browser.


  • Check HTML code is declared for specific language,for page is written .You can easily checked by viewing page source. For Eg: for Chinese page: <html lang="zh-CN">



  • In functional testing check the site functionality is proper in that language; Check the link navigation, error message. Check URL Format.



  • In user-interface check typo error, check for incorrect character, graphic, Check the color, Check text direction every culture has their own specific way to read for eg: Western cultures read left to right, middle east cultures read right to left ,pacific cultures read top to bottom. Check Format of currency, measure etc. Check length of the word different language take up different amount of space on the language.



  • To do usability testing from user point of you.


Sunday, September 9, 2012

GUI Testing

What is GUI Testing?

GUI Testing is Graphical User Interface Testing , it is process of test application’s user interface and  to ensure that it meets its written specification.

Why GUI Testing important?

GUI Testing includes how the application handles various events like keyboard, mouse events. In GUI Testing involves various task like Test screen text , images, icon, toolbars, button, content . GUI testing an be performed on to the computer system, web base application, application interface (Eg: Ms-Word, Excel) or device interface (Eg: GPS,Cell phone).
GUI Testing improve the look of the application.

How to perform?
GUI testing can be performed both manually or to take help of automation tool like QTP, Test complete etc.

Important point which need to be focus while performing the GUI Testing :

  •   Tester needs to understand how to achieve respective goals.
  •   Focused on how to test the application.
  •   Prepare the checklist for GUI Testing.
  •   Focus on Windows Compliance standard Like text boxes, check box, drop down box, list box ,each window in application ,button etc.
  •   Focus on screen validation Like validation condition, Navigation condition, usability condition,     various mode condition, Aesthetic condition.
  •   Focus on Standard Action Validation like add, view, delete, edit, cancel, shortcut keys, and control shortcut keys.
      Always Remember that First impression is last impression .





Wednesday, September 5, 2012

How to write Bug Title?

I found an example of bug title that is” repetition of the link”

Now seeing this bug title should I come to know or even you where and which link reporter talking about it? Answer is Big” No” unless and until  see the whole bug report and steps.

So, this type of the bug title some time really gives frustration to reader and reviewer.

Bug title is very essential part of the bug report. Seeing bug title reader should come to know what is bug all about. Structure and formatted bug title very useful when it come for sorting and reviewing.

There is various ways to write the bug title but according to me bug title should be short and descriptive.

You can start the bug title where the bug occurred that mean state the part or area of the application followed by a colon (“:”) or hyphen (“-“)
After that give description of the bug. It should be small but descriptive.

Eg:
1. Login form: “Submit button disabled”
2.Homepage- “The ‘Career’ link is linking to the incorrect page”

Bug title should be stand out in report. Having glance of the bug title reader should come to know where the bug is and what the bug is.

Writing good bug title can help reader who does not any idea about the bug so if write in perfect manner then he/she easily reach there and understand what bug is it. When it come for sorting then it’s very easy for reviewer and reporter itself. See if you write bug title above mention pattern then reviewer can sort the bug
" part or area of the application” so reviewer work make easy rather confusing and misleading .Writing the bug title in some good pattern, following standard. It’s help to all people in project including the customer also.


Sunday, September 2, 2012

Testing of CAPTCHA

What is a CAPTCHA?
CAPTCHA is distorted text .It is challenge response test and that response need to be generated by human.Captcha comes in many shape and size.



Full form of CAPTCHA:  Completely Automated Public Turing Test To Tell Computers and Humans Apart.

Why Captcha is important for any web site?
1. Captcha gives protection for the website registration.

2. Captcha Protect and prevent from spam comment.

3. Captcha Prevent the bots illegal access to any website.

4. Captcha satisfy main issue like security and accessibility.

5. In online poll Captcha allows human only to vote.

6. Using Captcha it is possible to protect emails from worm and spam by insuring the sender is human not bots.

How to test Captcha?
1. Every refresh of a webpage should display new Captcha.

2. Captcha image of text should be distorted text.

3. Captcha need to be Combination of alpha-numeric character, upper and lower case.

4. There should be client side validation which displays the error message when submitting form without entering the Captcha.

5.Check the Captcha entry it should be case sensitive.

6.Captcha need to be refreshed for wrong entry.

7.Need to be done server side validation for Captcha.

8.Need to be test audio support if the website is supported for blind end-user.

Tuesday, August 28, 2012

Usability,Usability Testing

Usability mean how easy to use the product. Usability has five quality attributes learnability, efficiency, memorability, errors and satisfaction.


Usability testing is technique to evaluate product by testing it on users.

Why Usability testing important?
See In daily life we need to perform task some time using software product, hardware product or website .Those product, website if they are easy to use they give fully satisfaction then we don’t have any question but if they dont work then we stress out .So it is very necessary to do usability testing for every product ..of course it ‘s depend upon what context you are using it .

Wednesday, August 22, 2012

How to set priority of the bug?

How to prioritize bug?

Correct priority & severity of the bug it’s very important. I have seen that there is lot of discussion, argument take place between developer and tester for bug priority and severity. The Priority which is set by tester that sometime developer not agree with it. Vice versa same thing with tester too. This is not only about between developer and tester. The same thing is happen in between higher level also between business analysis, project manager etc.

But As tester I wanted to tell you that setting the priority of bug ,which not get accepted by developer or someone else which really feel bad but for that we need to set correct priority & severity of bug so, here the question arise how we will set that?

For that need to consider following point:
1. Understand the functionality, feature.
2. Understand the business flow.
3. Communicate with the customer..
4. Understand Risk of the bug
5. Impact of the bug.

Considering these point set appropriate priority and severity of bug.

Priority & Severity Values

Examples of Priority & Severity 





Thursday, August 16, 2012

How to create Batch File?


What is batch file? (bat file)
Batch file is a text file that contains one and more command, it has also called as batch program and script.

Extension of batch file
Extension of the batch file is .bat or .cmd.

What batch files do?
Batch files automate everyday task or repetitive task.

How can be batch file useful?
Using Batch file you can do routine task or repetitive task in shorten time.

How the batches file useful in testing?
There has so many task which we do regular basis like build deployment, or else some other task like for which you do manually That can be automated using the batch file.


How to create batch file?
Let me tell you batch file contains series of DOS command, instead of typing same command again and again you can just create a batch file and double click on it.
1.Open the notepad
2.Save the file ---    2.a Click on file >>Save
                               2.b Click on Save as type:  and select drop down menu All file
                               2.c Type the file name with .bat extension and save the file somewhere on  your 
                                     Desktop.
                               2.d Eg: Test.bat and then click on save button
3.Let’s we see a simple example of batch file: Batch file for opening facebook site using mozila firefox browser
 @echo off
start /d "C:\Program Files(x86)\Mozilla Firefox" firefox.exe www.faceboo.com
@echo off    
                                                                          
4.Type those command in Test.bat file, and save it.

5.Double click on Test.bat file for run


Command Explanation:  
Echo off:  BAT writers typically put this at the beginning of their files. It means that the program won’t show the command that you told it to run while it’s running.

Start:  It’s open program ,script,command in new window.In above example by using start command we opening the Facebook site using mozila Firefox browser.

There are several Commands available using those you can create batch file and you can automated your regular and repetitive task.

Wednesday, August 8, 2012

Cookie Testing

Why Cookie is needed?
As you know Stateless (HTTP) protocol which does not record previous interaction, it treat every request as new. Suppose your browser wanted to interact with some XYZ server.So,Browser send first request to the XYZ server using stateless HTTP Protocol, Then XYZ server send response of your first request, once you received first request and again browser send second request to XYZ server that time XYZ server treat second request as new request.It doesn’t bother about what it send earlier? It doesn’t keep the record. So,Now can you imagine how stateless http work in ecommerce site, shopping site ?how theses site keep record of the purchase item? User identity and all?
Answer of all is Cookies.

What is Cookie?
The cookie is a text file saved in your browser's directory or folder and It stored in RAM while your browser is running. Cookie generated by a web server and stored in the user's computer, ready for future access. Normally Web sites use cookies to store personal preferences or tracking data.

There are two types of cookies
1. Persistence Cookies: The cookies that written permanently on the user machine. Max age of this cookie is 1 year.
2.Session Cookies: The cookies active till the browser open when we close the browser cookie get deleted .

Where the Cookies stored?
Cookies are stored in a cookie.txt file located in  user profile directory
C:\Documents and Settings\Username\Application Data\Mozilla\Firefox\ cookies.txt
IIN IE browser you can easily find the cookie path where the cookie is stored on the computer.
Go to tool>>internet option >>General tab>>under Browsing history>>Click on setting>>there you find current location of cookies
Basically you can change your browser setting according to your need. If you want that before storing the cookies by web site it will shows prompt message or something warning so you can change the setting or Even you can disable the cookies also.


Cookie Attribute:
Cookie basically come with name-value pair, apart from that server set expiration time, path, cookie domain ,maximum age.

Now the next questing is how to test Cookie? How to do Cookie testing?

Disabling/Deleting the Cookie:
Delete the all cookie set by site which under test. One thing which is important that deleting Cookie you need to close browser so that no pre-session cookies in memory.
After that test those feature and function of the site which require the cookie ,you will come to know that those feature doesn’t work because of deleting those cookies which help to run the feature. That doesn't mean it's bug, it’s happened because of the disabling the cookies. It's  might possible that not every user keep the cookie enable, In that case those site require cookie need to be enabled to work the site then the site has to be send message to user that cookie need to be enable to work the site.

Reject Cookie:
You can do testing of cookie by accepting some cookies and rejecting other and check the functionality howspan style="mso-spacerun:yes"> 
iit work by rejecting cookie. For that you need to set your browser’s cookie option to prompt you whenever website attempts to set a cookie and then exercise the functionality.

Corrupt the Cookie:
For that you need to know whether the cookies are stored. Then change the cookie parameter like cookie name, expiry date, session id and all.

Check that Cookie generated by different browser:
Here the site which is under test which need to be check different browser. That different browser site generated the cookie or not .

Check the how Cookie stored sensitive Data:
It's important that sensitive data need to be stored in encrypted format.Sensitiva data like User credit card ID,User Data etc.So even if some one open the cookies file then can not mess with the data. So that need to be check how the cookie stored the sensitive data.

 Related Documents:

Thursday, August 2, 2012

Difference between Build,Release and Version

NO
NO Build Release Version
1 Build is Executable file. Release means which ready to use it. Version is extension of the build.
2 Build is handed over to the tester to test the developed part of the project. Release hand it over to Client/Customer after completion of development and testing phase. Version is number of release made according to the addition of requirement of the client.
3 Build refers to the S/W part which  still in testing. or which is not tested yet. Release refers to the S/W which is no longer in testing. Version refer Variation of an earlier or original type of S/W
4 Build can be rejected by test team if defect found or it does not meet the certain requirement. One Release can have several builds associated with it. Version  based on the Build, not Vice Versa..
5 Build is nothing but a part of the application. Release is noting but the application. Version is nothing but the application.
6 Eg: Componet Eg: Apple released new iphone 4. Eg: I have downloaded latest version IE9

Monday, July 30, 2012

POC and POO


Point of Control (POC): Point of control is the point at which test objects are supplied with test data.

Point of Observation (POO): Point of observation is the point at which test objects are logged and investigated.

In Black box testing the Point of observation is outside the test object, and Point of control is also situated at outside the test object. Here test object it can be your module/component, System .In Black box testing as you know you can’t see internal behaviour of the test object. So that why the POC and POO situated outside the test object. In black box testing the Point of control are appropriate test input data, appropriate test precondition. The Point of Observation is output, result.

In white box testing the Point of observation and Point of control is situated inside the test object. Here Test object can be source code, design, and requirements. In white box testing as you know that you can see internal working of code. Here internal processing of test object as well as output is analysed that’s nothing but Point of observation .and Point of control is also located inside the test object .The POO and POC is one of the white box testing technique.


Sunday, July 29, 2012

Difference between Top-Down Testing and Bottom-UP Testing

NO
NO Top- Down Testing Bottom-UP Testing
1 Top-Down testing conducted from main-module to sub module. Bottom-Up testing conducted from sub module to main module.
2 If sub module is not developed a temporary program called Stub is used for simulate the submodule. If main module is not developed a temporary program called Driver is used to simulate the main module.
3 Top -Down testing good if major flaws occur toward the top of the program. Bottom-Up Testing good if major flaws occur toward the bottom of the program.
4 In this test condition difficult to create. In this test condition easy to create.
5 Observation of test output is more difficult. Observation of test output is easier.

Thursday, July 26, 2012

Top Down & Bottom UP Testing



Top-Down Testing:
Top –Down Testing take place from Top to bottom In this testing Stubs used. “Stub” it’s special purpose software component . If sub module is not developed a temporary program called that is Stub. A stub is called from software component to be tested.

During Testing X  call the Stub A or Stub B.
1.       X calls Stub A  , If error occurs then will come to know that problem is in A or problem in interface between Component X and Stub A
2.       X calls Stub B  , If error occurs then will come to know that problem is in B or problem in interface between Component X and Stub B

Important Note: Remember that here we are testing the component X using Stubs A and B. Stubs are used to simulate the activity of the components that are not currently tested.



Bottom-Up Testing:
 Bottom-Up Testing take place from Bottom to Top.  If main module is not developed  a temporary program used  that is Driver. “Driver” its Software component which calls a component to be tested.


During testing Driver X calls Component A or Component B
1.       Driver X calls component  A, If error occurs then will come to know that problem is in  Driver X or problem in interface between  X and component  A
2.       Driver X calls component  B, If error occurs then will come to know that problem is in  Driver X or problem in interface between  X and component  B



Important Note:
Remember that here we are testing component B and C using Driver X


Example:
Cab Service :  Unit Testing of “Customer order Decline” Program , Here a driver will have code which will create customer order records using hardcoded data and then calls Customer order decline program. Program customer order decline uses another unit which Check how many customer raise the request for cab on same time, check that cab is available or not some complex thing. For checking and calculation call to this unit will be replaced by Stub.

Tuesday, July 24, 2012

Difference between Static Testing and Dynamic Testing


NO Static Testing Dynamic Testing
1 It's testing of without executing of the Software. It's testing that involves the execution of the Software.
2 In Static Testing software are examined manually and some Static analysis tool used. In Dynamic Testing software executed by giving set of inputs,examined  it's output and compared what is expected.
3 Static Testing can start early in the life cycle.Eg: By Verifying User Requirements. Dynamic testing can start after development of software components.
4 Types of defect find in Static testing are : Missing requirements, Desgin defect ,Syntax Error etc. Types of defect find in dynamic testing are : Variables not constant ,checking if output from the expected values.
5 Types of Static Testing : Review ,Inspection , Walk-through. Types of Dynamic Testing: Unit testing,Integartion testing, System Testing, Acceptance Testing.
6 Static Testing find bug before you compile. Dynamic testing find bug after compilation, linking.
7 Static Testing is about prevention. Dynamic Testing is about cure.
8 Static Testing is most cost effective than Dynamic Testing. Dynamic Testing not Cost effective as compare to Static Testing
9 Static Testing done in the verification stage. Dynamic Testing done in validation stage.
10 Static Testing gives 100% statement coverage. Dynamic Testing does not give 100% statement coverage.

Sunday, July 22, 2012

What’s Specification and Requirement mean?



So many times we read, hear that requirement should be clear, understandable but what exactly requirement is it? Does requirement and specification are equivalent?

Requirements are what program and system should do, Specifications are how you are going to do it.

Requirement represents the application from the perspective of the user or business. Specification represents the application from the perspective of technical team.

Specifications are outcome of the conversations, discussion of group of people on the requirements.

Tester need to be work on the specification because it specific ,It’s help you out to do testing activity because requirements might be unclear ,messy sometimes. And “Yes” Requirements and Specifications are not equivalent.

Thursday, July 19, 2012

How much testing should we do ?


There are question people asked that can you test the software fully? Can you test everything ?then quick response  of some people that -"yes", Everything should be tested. But is it possible to test everything (All combination of inputs and conditions)?

As Tester we need to give confidence to the software/product, The software is good to be  release whether you test completely or you do exhausting testing but it’s very important what customer and project manager expecting from you what they ask for.

when we say how much testing is enough we need to take care of level of risk in product/project then that risk can be business risk, technical risk etc. we need to consider time and budget. That mean in what time we need to complete our testing activity by given budget.

Now the question come over here can we test everything ?Suppose we need to test one text box field which can take only a character,so here can you going to check all upper and lower character ,special character for valid values and for invalid values are you going to check all digits and blank space. Here we are talking about only one text box but when more than one text box will come so can you imagine how much combination and inputs require, does it possible to test everything in give time ? No, it's not possible .In that case you need to do testing with smart way using various type of technique ,understanding the customer requirements, risk and of course you need to do all those thing  by given time frame.

Tuesday, July 17, 2012

What is root cause analysis?(RCA)



Testing is activity to find defect, prevent defect and gain the confidence of the software but when we detect the defect, failures we need to find out real reason why that happened? what‘s the root cause of that failure? for that we need to analysis the root cause. When we say the root cause that mean when you fix it, when it get resolved and prevent the recurrence of the problem.


Root cause Analysis is the a systematic way to know actual root cause of our problem. There are server ways to analysis the root cause and different techniques too .Every organizations has different techniques and different method to do root cause activity.Understanding the root cause of defect is an important aspect.Many time (RCA) done once event has occurred. But we may make it useful as pro-active method.

Example of Dish washer:
“Machine is 1 week old (Serial no: 123456) After few minutes of loading utensils I see the foam outside the dishwasher”
Now what will be next? The technician check the dish washer operation to test procedure.Technicians determines the cause or investigate why that happened.
Some of the obvious causes technician discover might be:

Liquid dishwashing soap used instead of automatic dishwasher detergent.

Too much automatic dishwasher detergent.

Examine the drain hose to make sure it isn’t kinked.

There are several tool used for the root cause analysis:

Brainstorming:
It's a process where people get together to examine the problem, where the group quickly generate many ideas for the particular problem.
It's a very useful technique because it uses collective brainpower to generate many ideas in a short period of time.

Fishbone diagram:
It is also known as cause –effect diagram, it's a technique to graphically identify and organize many possible causes of a problem
It's help to identify the most likely root cause of the problem.This tool can help focus problem solving and reduce subjective decision making


As tester , we want not to just detect the defect and report it but we need to think about any potential causes of failures.


Wednesday, May 23, 2012

Negative Test Cases for Email Address


NO Negative Test case For Email Address Explanation
1 abcdefgh Missing @ sign and domain name
2 #$%^&*@.com Garbage valaue
3 @domain.com Missing Local part(Username)
4 email.co.in Missing @ sign
5 .Email@domain.com Leading dot is invaild
6 email.@domain.com Trailing dot is invalid
7 email....email1@domain.com Multiple dot
8 email@domain Top level domain is missing
9 email@-domain.com Leading - in front of domain
10 email@12344.4444.555.555 Invalid IP address format
11 あいう@domain.com Unicode character invalid

Tuesday, May 22, 2012

Positive Test cases for Email Address


NO Positive Test case For Email Address Explanation
1 email@domain.com valid email with all lower case letter
2 EMAIL@domain.com Valid Email with upper case letter
3 firstname.lastname@domain.com Email contain dot in address field(Local Part)
4 firstname-lastname@domain.com Email contain dash in address field(Local Part)
5 email@subdomain.domain.com Email contains dot with sub domain
6 email@123.123.123.123 Domain is valid IP address
7 email@[123.123.123.123] Square bracket around IP address
8 "email"@domain.com Quotes around email address(Local Part)
9 abc123@domain.com Email contain alpha numeric character
10 12345@domain.com Email contain only digit
11 email@dmain-coo.com Dash in domain name
12 _@domain.com Underscore in the address field
13 email@domin.name .name is valid Top Level Domain name
14 email@domain.co.in Dot in top level domain name

Sunday, May 20, 2012

What is SEI,CMM,CMMI and ISO


SEI:
Software Engineering Institute. It is Active development of the model by the US Department of Defence Software Engineering Institute (SEI) began in 1986.

CMM:
Capability Maturity Model. The term maturity relate to the degree of formality and optimization of processes. There are five levels defined in CMM.
Level 1: Initial  - It is the starting point for use of a new or undocumented repeat process.
Level 2: Repeatable - the process is at least documented sufficiently such that repeating the same steps may be attempted.
Level 3: Defined - the process is defined/confirmed as a standard business process, and decomposed to levels 1, 2 and 3.
Level 4: Managed - the process is quantitatively managed in accordance with agreed-upon metrics.
Level 5: Optimizing - process management includes deliberate process optimization/improvement.

CMMI:
Capability Maturity Model Integration . It is a process improvement approach that helps organizations improve their performance. CMMI can be used to guide process improvement across a project, a division, or an entire organization. It’s integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes.

ISO:
International Organization for Standards ISO 9000 is a series of standards, developed and published by the International Organization for Standardization, The ISO 9000 standard is the most widely known and It serves many different industries and organizations as a guide to quality products, service, and management.  In order to be certified, the organization must submit to an examination by an outside assessor.

Wednesday, May 16, 2012

Difference between Cookie and Cache


NO Cookie Cache
1 Cookie is a very small piece of information that is stored on the client’s machine by the web site and is sent back to the server each time a page is requested Cache is a temporary storage of web page resources stored on client’s machine for quicker loading of the web pages.
2 Cookie is to store information to track different characteristics related to user Cache is to make the loading of web pages faster
3 Cookies keep information such as user preferences Cache will keep resource files such as audio, video or flash files.
4 Cookies expire after some time Cache is kept in the client’s machine until they are removed manually by the user.

Tuesday, May 15, 2012

Tips for Bug Investigation


1       Analysis the software bug cause:
Find the real cause of the software bug;  that cause can be software design, code implementation, tester fault etc.
2       Investigate any other similar types of the bug:
Sometime it’s happen that the symptoms are different but cause is same. Or that bug may be find out the different area of the software system.
3       Check the symptoms of the bugs:
What are the symptoms of the stated bug that need to be check.
4       Reproduce the same bug:
Try to reproduce same bug with same environment which is stated on the bug report.
5       Check  the possible side effect:
Sometime some bug responsible to indicate possible side effects. These could be file corruptions, device failure etc.
6       Communicate with Team members:
Communication is very important. Communicate with them who are familiar of the system. They may be able to provide you some useful information and tips. Even they can provide you possible side effect.
7       Create new test and new data for the bug:
Creating new data, editing test script is useful to check the bug.
8       Report the bug:
       It is very important if you are doing bug investigation reporting the each test important because it can be useful and helpful too.

Thursday, May 10, 2012

List of HTTP Status Code


HTTP is request-response protocols. Every HTTP transaction has a status code .So for doing web application testing tester need to understand following status code too. Some of status codes are very common that are: 200,300,301,302,304,307,400,401,403,404,500,501,503.

List of HTTP Status Code:

1xx status code represents the information message

Eg:
100-Continue
101-Switching Protocols
103-Checkpoints

2xx status code represents the Successful message

Eg:
200- OK
201-Created
202-Accepted
203-Non Authoritative information
204-No content
205-Reset content
206-Partial content

3xx status code represents the Redirection message

Eg:
300-Multiple choice-Max 5 address
301-Moved permanently
302-Found (Moved temporally)
303-See Other
304-Not modified
306-Switch proxy (No longer used)
307-Temporally redirects
308-Resume incomplete

4xx status code represents the Client Error message

Eg:
400-Bad Request
401-Unauthorized
402-Payment required(Use in future)
403-Forbidden (Server refuse the request)
404-Not found (Request page not found currently but it available in future)
405-Method not allowed
406-Not acceptable
407-Proxy authentication required
408-Request timeout
409-Conflict
410-Request page is no longer available
411-Length required
412-Precondition failed
413-Request Entry to large
414-Request URL too long
415-Unsupported media type
416-Requested range not satisfied
417-Expectation failed

5xx status code represents the Server Error message

Eg:
500-Internal server Error
501-Server does not recognize request method or it may not be fulfil the request
502-Bad getaway
503-Server is down or overloaded
504-Getaway timeout
505-Http version not supported
511-Network authentication required






Tuesday, May 8, 2012

Selenium IDE Features





Sunday, May 6, 2012

Software Testing Estimation


Estimation is important factor which associate with each project .The same thing associate to the testing task, testing team that how much time do they required to do testing activity.

Estimation should not be wrong or not to be irrelevant. Test Estimation should be realistic.

In testing there are number of activity need to do like requirement analysis, test planning, test case writing, test case executions, regression testing and all.

To define the test estimation tester has to understand the requirement clearly when project requirement take place.
Need to allocate the task properly. Task should be divide in such way that everyone occupy with proper task and that lead to complete the testing activity in allocated time here you need to understand  Members skill ,expertise which help to estimate the how much time requires to writing, executing test cases etc. See every test team member has their own speed like someone is faster than other to do testing activity.

 (Resources Availability like members presence)To do test Estimation should consider team member availability for particular testing task so that will help to allocating the task accurately.

If new feature is developed understand that feature properly .or if there enhancement is going on existing product then take help of last version project test cases ,script which will be help to do parallel testing.

Test Estimation  judgments come with the experience with previous project.

Bug checking ,regression testing is purely depend upon the size of the project .If more number of the featured develop the chances of bug and checking of the bug fixing more so it may be spoil the testing timeline so you need to be take buffer time for that so you can do this type of testing activity too.

Communication is very important factor, do not hesitate to take the help of and communicate with the team member, developer because at end the project needs to be complete given timeline with quality.




Wednesday, May 2, 2012

Requirement analysis : Why it is important?


Requirement analysis is very crucial part in testing and it is core activity of the tester.
Tester need to understand the requirements clearly. If there is bigger requirement that need to be split in small requirements and need to be work on it.

The requirement has to be clear, readable, understandable, traceable, and measurable.

If we say requirement clear that mean there is no confusion .If we say readable that mean any non-technical person need to be understand requirement .There is no any unnecessary technical term and It is easy to understand.

The Requirement should be measurable that mean no any assumption .For e.g. take web application if user enter the search term then application need to response as soon as possible. Seeing this requirement we can’t understand what exactly it mean? "as soon as possible" .does it response in 1min,60 sec or in 30 sec ? so there is need to be a specific time in which we can measure the response.

Requirement should be traceable with different level that mean it can be traceable to design level, coding or Testing level.
When we say traceable in testing that mean each Requirement has their own testcase.That requirement need to be traceable to their respective test cases.

The Requirements are key factor for the tester.

Communication is more important, if you do not understand any requirement ask the question until you understand requirements clearly.

Change in requirement: sometimes it happens the requirement get change so in that case it has to be defined process for receiving the new requirement and Ensure that the new requirement request is it approval from all stakeholder.

Tuesday, May 1, 2012

Difference between Thin Client & Thick Client


NO Thin Client Thick Client
1 In Thin Client, Application actually run on the server where Server situated anywhere  In Thick Client, Application Actually run on the Client and little work done on the server if needed.
2 Thin Client is also called as Small Client Thick Client is also called as Fat Client.
3 Thin Client require constant communication with server Thick Client no need require constant communication with server
4 Less security threats More Security issues
5 More downtime require Very expensive to deploy
6 Little data processing done in client machine More data processing done in Client machine
7 Thin Client Require more server demand Thick Client Require less server demand
8 E.g.: Browser Base Application E.g.: Windows base Application

Sunday, April 29, 2012

Exploratory Testing


Exploratory Testing:

Explore the word itself indicate research, investigate the new thing which you don’t know .When exploring the new thing somehow you enhancing your knowledge and it is kind of the learning.

You can do exploring testing the way you want it is purely depend upon you; there is neither typical process nor any pattern.

Next question come that when we will do the exploratory testing? Exploratory testing done at any stage of testing .E.g.: reviewing the requirements, reviewing test cases.

When test case reviewing take place the testers gather together they give their own ideas,inputs,they share their knowledge so that means they exploring test case for the particular requirements.

Learning about new product new feature it is an exploratory activity when people learn(Explore) the new product they might be take the help of other people guidance, they might use present document or else self-directed.

When you are exploring you are investigating you are discovering.

Exploratory testing is how you are going to do, how you are going to learn new thing.



Thursday, April 26, 2012

Difference between Alpha Testing and Beta Testing


NO Alpha Testing Beta Testing
1 Alpha testing is a UAT testing done at Developers site Beta  testing is a UAT testing done at customer site
2 Developer available at that time Developer may not be available that time customer need to report the defect and Developer need to be fixed that defect
3 Alpha testing done in virtual enviornment Beta testing done in Real environment
4 Alpha testing is final testing before the software release to general public Beta testing or Beta version of software released to group of people ,general public to receive feedback from them

Wednesday, April 25, 2012

To do Negative Testing positively



Why we do the negative testing. Why it is important?

Negative testing is testing which attempts to shows that application or module does not do anything which is not supposed to do.

But how we can do the Negative testing.

See Negative testing is a core skill. It is powerful approach. It is very important how effectively you do negative testing

Many people have different meaning about negative testing Even they have their own views also.

But for me Negative Testing is more about :

To do thing which is not written in the requirement?

It is about imagination

Exploring the product

Find out the problem, Fault

Let say the requirement is: Password should take minimum 8 characters.

If I want to do negative test for that. Then I will check what will be happen if I enter 7 characters?

What will happen if I enter more than 8 characters?

What will happen if enter the only number or I enter only special character?

So this is like I am doing negative test for that requirement

Negative testing mean you are like investigating more about that requirement, you are doing what you are imaging and what you are exploring about the product.

The good tester is who can break the software who can explore the product, who can find the valuable and good bug.

So do Negative Testing in positive way

Sunday, April 22, 2012

Test Coverage


When we start testing there are so many question arises like
How much testing is enough?
When we will say the product is good to go?
How we can assure the quality of the product is good?
When we will have to stop testing?
Is the 100% test coverage is important?
Can we achieve 100% test coverage with in timeline?
When we will say testing is sufficient?
How do we measure the software testing completeness?
See in my point of view we can measure the quality by doing the requirement coverage, defect coverage, code coverage.
When we say requirement coverage that mean how many requirements are get validated? Can all requirements trace the respective test cases? Do all the test cases have passed? In vice versa trace the test cases to the specific requirement that requirement is need to be passed. In short software needs to be tested against the all requirements

In Defect Coverage in need to be known how many defect we found? How many defects has fixed?
Code coverage is all about evaluating the test cases against the actual code. We also do the code coverage by doing statement coverage, decision coverage,
  
 See basically when you execute the test case you are testing the component, feature and requirement too. One test case can cover zero or more component and zero or more requirements.  The term Test Case Coverage means to me a measure of how many of the product requirements are being tested by the defined test cases. It is the testers’ job to define their test cases based on the requirements and the goal should be 100% coverage or close to that.
 Test coverage Formula= (Total no of test case executed/ Total no of test case planned)*100
Test coverage ensure that testing is carried out effectively .

Thursday, April 19, 2012

ANT and Build.xml File for the Selenium Project

LinkShare Money Mania - Do Not Delete- Untitled 2
Ant Build for the Selenium Java Project:
It is open source tool.
Ant can be used to generate the html report and it is run in your same project it can be run it through cmd prompt.
How to make Build .xml file?
1. Right click on the project
2. Go to the new>>file gives the filename as build.xml
Here is my Project Setup for the Ant



Here is Build.xml file Code:

<project name="Selenium" default="usage" basedir=".">
    <property environment="env"/>

  
  <property name="ws.build" value="${basedir}"/>
  <property name="ws.jar" value="D:/Jar file of the selenium"/>
  <property name="test.dest" value="${ws.build}/Build"/>
  <property name="test.src" value="${ws.build}/src"/>
  <property name="test.report" value="D:/Report1"/>
    <path id="testcase.path">
<pathelement location="${test.dest}"/>
<fileset dir="${ws.jar}">
<include name="*.jar"/>
</fileset>
</path>
<path id="test.classpath">
<pathelement location="${ws.jar}"/>
</path>
   <target name="setClassPath" unless="test.classpath">
    <path id="classpath_jars">
    <fileset dir="${ws.jar}" includes="*.jar*"/>
    </path>
<pathconvert pathsep=":"
property="test.classpath"
refid="classpath_jars"/>
</target>
<target name="init" depends="setClassPath">
<tstamp>
<format property ="start.time" pattern="MM/dd/yyyy hh:mm:aa"/>
</tstamp>
<condition property ="ANT"
value="${env.ANT_HOME}/bin/ant.bat"
else="${env.ANT_HOME}/bin/ant">
<os family="windows" />
</condition>
<taskdef name="testng" classpath="${test.classpath}" classname="org.testng.TestNGAntTask" />
</target>

<target name="all">
</target>
  <target name="clean">
    <delete dir="${test.dest}"/>
    </target>

  <target name="compile" depends="init, clean">
<delete includeemptydirs="true" quiet="true">
<fileset dir="${test.dest}" includes="**/*"/>
</delete>
<echo message="making directory..."/>

    <mkdir dir="${test.dest}"/>
<echo message="classpath---------:${test.classpath}"/>
<echo message="compiling......."/>
<javac
debug="true"
destdir="${test.dest}"
srcdir="${test.src}"
target="1.7"
classpath="${test.classpath}"
>
</javac>
 </target>
<target name="build" depends="init">
</target>
<target name="usage">
<echo>
ant run exceute
</echo>
</target>
<path id="test.c">
<fileset dir="${ws.jar}" includes="*.jar"/>
</path>
  <target name="run" >
   <delete includeemptydirs="true" quiet="true">
   <fileset dir="${test.report}" includes="**/*"/>
   </delete>
   <java jar ="${ws.jar}" fork="true" spawn="true"/>
   <junit fork="yes" haltonfailure="no" printsummary="yes">
   <classpath refid="testcase.path" />
   <batchtest todir ="${test.report}" fork="true">
   <fileset dir="${test.dest}">
   <include name="sel.Testcases/FirstTest.class"/>
   <!-- <include name="Testcase/SecoandTest.class"/> 
   -->
   <!-- <include name="Testcase/ThirdTest.class"/>
   -->
   </fileset>
   </batchtest>
   <formatter type="xml"/>
      <classpath refid="testcase.path"/>
   </junit>
   <junitreport todir="${test.report}">
   <fileset dir="${test.report}">
   <include name="**.xml"/>
   </fileset>
   <report todir="${test.report}"/>
   </junitreport>
      </target>


</project>

Related Documents:
ANT Terminology
How to configure ANT in System?
How to make build.xml file?