Monday, April 26, 2010

Software Test Automation tool evaluation


In this post I will explain about evaluating Automation test tool and selecting appropriate tool suitable for our requirements.

Before start evaluating tool we should analyze whether automating software testing will really give any benefit over manual testing for your needs.


Actually, Software Test Automation is a good way to cut down time and cost.

But, it will reduce the cost and time only when it is really necessary or it is used effectively.

Test Automation is not required if you are going to use your application one time only or for short period only. For example, assume that you are having a website developed in ASP, and you are making some changes in this website. And, assume you are having solid plan for converting/migrating this ASP site into either ASP.NET or PHP in near future.

In this situation, it is not advisable to automate the testing of the new changes done in the ASP site.
In this case, simply you can complete the testing manually and then you can start your automation testing preparation once after the migration is done.

So, basically we need to automate our testing procedure when we have lot of regression work.


Once after taking decision to do the test automation, the next step is selecting appropriate automation tool.

There are hundreds of tools available for automating the software testing and some of them are Free.
Test complete, SilkTest, SilkPerformer, QARun, QALoad, TestPartner, WinRunner, LoadRunner, QTP, Rational Robot,Selenium,WATIR and openSTA are some of them.

Some of these Tools (e.g Selenium) are open-sourced.


We need to select appropriate tool based on below factors.

Budget allocated for the Testing process - Price for each automation tool will vary. Some of them are costly, and some of them are even free.
License pattern will be varying for each tool. License cost of some tools will vary according to geography location also. And, some tool vendors will fix different price for seat license and floating license.

So, first we need to decide about our licensing needs. i-e Ask below questions,
- In case the tool price changes according to geographic location, whether it will be cost effective for your location.

- How many Automation Test engineers will simultaneously work in your automation project?

- Whether you need separate set up for developing the scripts and for executing the scripts?

- Whether you are having plan to automate your any other testing activities? Whether the selected tool can be used for other projects also?


Support available for the Automation Tool. We need to evaluate whether the Tool provider will provide enough support and bug fix releases. And, we need to think about the support provided by the Forum community also.

Analyze whether the execution speed of the automation tool matches with your requirements.


Check the installation requirements (both Software and Hardware) for installing the automation tool in your test script development environment.

List down current skill set of your testers and check whether the tool can be effectively used by your testers. For example QTP will support vbscript, if your testers know vbscript they can easily learn using QTP.



Feasibility study is very important before finalizing the Tool. Most of Tools will provide evaluation or Trail offer. For example QTP can be downloaded from HP site and we can use it for 14 days. During this trial period try to automate different portions of your application to make sure that the Tool can be used for automating your Testing needs.

Analyze the Market Share and financial Stability of the vendor of the tool. It will get significance if you are going to use the Automation tool for long term regression testing purpose.


Check whether the Tool can be easily integrated with bug tracking tools. For example, QTP will be closely integrated with Quality Center (Test Director) which is a Test Management Tool.


The best approach is, we can prepare a list with all these factors and add remarks for each tool. And, we can select the tool by analyzing this list.

And, you can share you experience with Automation tool selection.

Software Testing Terms

eBook for learning Software Testing and QTP Automation

More Articles...
You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Sunday, April 25, 2010

Steps taken for preventing Spam in our Forum.


As I mentioned in my previous post I am taking steps to keep our Forum clean for doing healthy discussions.

Recently I have taken below steps.

- Loaded Word Censoring module with many words to be blocked/censored.

- Enabled e-mail verification. i-e user will be able to get into our forum only after clicking the verification link from their email once after completing the registration.

- Modified the settings so that the user's first post will be visible only after moderator approves his post. Anyway subsequent postings will be published immediately.

- Added spam prevention custom field. i-e While doing registration the user has to answer for a question about favorite search engine.

If you know any other solution for fighting Forum Spam, you can share share it thro' comments.


More Articles...
You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Thursday, April 22, 2010

QTP (Quick Test Professional) Questions and Answers


Find below MCQ (Multiple Choice) questions and Answers useful for learning QTP (Quick Test Professional).

You can attend our Quiz here.

We have already published questions and answers for learning software testing, javascript, and php.

You can bookmark this blog for further reading, or you can subscribe to our blog feed.

If you find any issue in any question you can mention thro' comment section or send mail to qualitypointmail@gmail.com

You can put the below HTML code in your blog or website for linking into this page.


Software Testing Terms

eBook for learning Software Testing and QTP Automation


Quick Test Professional(QTP) QUESTIONS AND ANSWERS

1) Quick Test Professional (QTP) is used as,
a) Functional Testing tool
b) Performance Testing tool
c) Usability Testing tool
d) Bug tracking tool
Show Answer

2) The below vbscript code is used for,

Set qtApp = CreateObject("QuickTest.Application")
qtApp.Launch
qtApp.Visible = True
a) For launching Function Generator
b) For opening QTP using Automation Object Model
c) For creating Object Repository from Coding
d) For making ActiveScreen visible.
Show Answer

3) Extension of vbscript function library file is,
a) .vbs
b) .mtr
c) .lib
d) .qtp
Show Answer

4) Which one of the below is External add-in in QTP?

a) ActiveX add-in
b) Visual Basic add-in
c) Java add-in
d) Web add-in
Show Answer

5) Which is used to add report statements in QTP report file?
a) showreport
b) reporter.writeline
c) reporter.reportEvent
d) printReport
Show Answer

6) In QTP, properties of Test Objects are stored in
a) ObjectSpy
b) Active Screen
c) Object Repository
d) Library
Show Answer

7) Which is used for storing Data used by Test Iterations in QTP?
a) Local sheet
b) Global Sheet
c) Action Sheet
d) Object Repository
Show Answer

8) Which view will allow us to edit the vbscript code in QTP?
a) Keyword view
b) Expert View
c) code view
d) view source
Show Answer

9) The Test Management Tool which can be easily integrated with QTP is,
a) Test Track
b) Bugzilla
c) Object Repository
d) Quality Center
Show Answer

10) Which is used for storing Data used by Action Iteration in QTP?
a) Local sheet
b) Global Sheet
c) Object Repository
d) External Action
Show Answer

11) Outcome of the below QTP code (vbscript) is,

Set obj = CreateObject("WScript.Shell")


sCmnd = "%windir%\SYSTEM32\rundll32.exe user32.dll,LockWorkStation"

obj.Run sCmnd, 0, False

a) Runtime error
b) Computer will be locked automatically.
c) Computer will be unlocked
d) will throw syntax error
Show Answer

12) Which is used for verifying whether the Actual result matches with expected result in QTP?
a) ObjectSpy
b) Object respository
c) Checkpoints
d) Expert view
Show Answer

13) Which is built-in add-in QTP?
a) TE add-in
b) java add-in
c) web add-in
d) .net add-in
Show Answer

14) Setting in one instance of QTP IDE can be transferred to another machine using,
a) Data driver
b) Function Generator
c) Step Generator
d) Automation Object Model
Show Answer
eBook for learning Software Testing and QTP Automation.

Answers

(1) a (2) b (3) a (4) c (5) c (6) c (7) b (8) b (9) d (10) a
(11) b (12) c (13) c (14) d



More Articles...
You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Wednesday, April 21, 2010

Importance of Link Exchange for getting more organic traffic




The need for having Websites for doing any business is getting increased day by day.

Online marketing is becoming more effective than other traditional marketing approaches.

But, merely having website is not enough, people should visit our website.

There are many different ways available for attracting visitors to our websites.

Organic search, PPC (Pay-Per-click) advertising programs such as Google Adwords, website directories such as dmoz and affiliate programs are some of the ways to bring visitors to our websites.

Very important way is getting visitors from organic search. i-e From search results of Search Engines such as Google, Yahoo and Bing.

Why I am telling this way as very important?

First reason is, it won't cost anything. It is free traffic.
Next, it will continuously bring visitors without putting further efforts.

One more reason is, people will give more importance or will trust sites appearing in front page of Search engine results.

Mostly people will go thro' only the first few pages in the Search engine results (SERP).

So, how to bring our website in front page of the search engine results for our desired keywords?

If you are not familiar with Keywords I will explain with below example.

Recently, I have started selling my ebook about software testing and QTP automation. For selling this ebook I have created a sales page at http://www.qualitypointtech.net/ebook/index.php

The eBook will be sold only when more target visitors come to this QTP ebook sales page.

In this scenario Target visitor means people who are willing to learn Software Testing or QTP and preferably people who are willing to buy an ebook for learning software testing and/or QTP.


If a person wants to buy an ebook for learning software testing how he will search his desired ebook?

Most probably he will type something similar to "buy qtp ebook" or "best ebook in qtp", or "best book for qtp online" or "book for learning software testing" or "book for learning qtp and software testing" in a search engine such as Google. Correct?

Here the search engines mostly won't consider the phrases such as "in" , "for" and "and".

From the remaining search phrases we can find some unique words such as "qtp", "ebook" and "software testing".

These are known as Keywords.

Targeting these keywords in the search engines will bring more Target visitors to our website. That means more sales and business development.

So, how to Target these desired keywords in search engines and how to get place in the first page of search result for the desired keywords?

The answer is Search-engine optimization (SEO).

i-e There are many different ways to do the SEO. Mainly it will fall under two categories.

One is on-page optimization and other is off-page optimization.

On-page optimization involves developing the web pages seo-friendly. i-e SEO related activities should be done while creating the webpage.

For example,
- We need to set proper title with desired keyword in <title< tag. - Keyword Meta tag should be filled with relevant keywords.
- Description Meta tag should contain details with enough keywords.
- Img tag should have proper alt attribute.
- Important keywords should be enclosed with proper highlighting using bold & italic tags or using header tags.
- We should avoid javascript menu which will block the search crawlers and bots. If you still want to use javascript menu for some reason, then you should provide a site map for the crawlers. It can be easily done by preparing text file or xml file with list of all links/urls in our website.


Apart from these things, we need to use tools such as mod_rewrite for creating seo-friendly urls or pretty urls

Our Team is good in developing websites SEO friendly and our pricing will be cost effective. If you want to outsource any of your html/php/mysql/javascript related web development work you can contact us for getting quotes.

We will do software testing also.

Even, you can buy our already developed modules such as web based time sheet which will be helpful for managing your team and project activities. Actually we too use this timesheet and realized the importance of having such as a timesheet.

Ok, now we can come back to the Search engine optimization.

Now, it is clear that targeting specific keywords in search engine is very important.

There will be lot of competition for your desired keyword if already many people are providing similar product or service.

That's why we need to understand how search engines do crawling, indexing and ranking.

I will write separate posts later for explaining these things in detail , and we can see only about "Link exchange" here.

Actually search ranking depends on many factors. Google will assign PageRank for each webpage. And, this pagerank will be the part of many factors which control the Search ranking.

Again this PageRank (PR) will depend on many different factors. One such as factor is inbound link or backlink.


Link Exchange
is one of ways to get more backlinks.

Actually Link Exchange should be done within same type of websites or compatible websites only.

For example, I am willing to do link exchange for my Software testing ebook sales page.

In this case, I should do link exchange only with other software testing related webpages only. And, that webpages should have good pagerank also.

While doing link exchange we should provide the linktext with our desired keywords.

So, if you are having any software testing related website you can include the below piece of HTML code in your blog or website.


<a href="http://qualitypointtech.net/ebook/index.php" title="Software Testing eBook">eBook for learning Software Testing and QTP</a>


Send me below details to my email id rajamanickam.a@qualitypointtech.net once after adding above code.

- URL in which you have added above code
- URL which needs to be included in our site/blog (If it is different from above one)

We will place your link in any one of the site/blog after doing some analysis about relevancy and traffic. We may not include your link if is not appropriate for doing link exchange. In this case, you can remove our link from your site/blog.

http://qualitypointtech.net/
http://qualitypointtech.com/
http://www.qualitypoint.blogspot.com/
http://xmaschristmas.blogspot.com/
http://www.youcanstart.blogspot.com/


Once after adding your link, I will email you the url of page where your link is added. And, we will keep your link till our link is available in your page.

Apart from this link exchange there are many different ways (e.g submitting links into social bookmarking sites) are available to do SEO. I will explain them in coming posts.

I believe in win-win approach. Doing link exchange will give benefit for both of us.

But, excessive link exchange will do harm. Link exchange should be done so that the links should be useful for the site visitors.


Share your SEO experience thro' the comment section.

More Articles...


You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Monday, April 19, 2010

Software Testing Terms



Find below the meaning/definition of Terms frequently used in Software Testing.

Note that I am defining these terms using my own words to explain it easily. It may not be the exact definition.

Software Development Life Cycle (SDLC)
SDLC involves different phases such as Initial/Planning phase, Requirement analysis phase, Design phase, Coding phase, Testing phase, Delivery and Maintenance phase.

All these phases can be followed one by one linearly as Waterfall model or they can be followed as V-model which expects doing Testing activities in parallel with development activities.

Initial Phase involves gathering requirements by interacting with the Customer. Normally Business Analyst will do this and will prepare a requirement document.
Here Customer is the internal marketing team in case of product development. Otherwise Customer is the person who is paying for doing the project.

Requirement analysis phase involves doing details study of the customer requirements and judging possibilities and scope of the requirements. And it involves tentative planning and technology & resource selection.
SRS (System Requirement Specification) will be created in this phase.

Design phase involves dividing the whole project into modules and sub-modules by doing High level Designing (H.L.D) and Low level Designing (L.L.D).

Coding Phase involves creating source code or program by the programmers by referring the design document. Coding standards with proper comments should be followed.

Testing Phase involves getting clarification for the unclear requirements and then writing test cases by Testing Team based on the requirements. And, the testing team will execute the test cases once the build is released and they will report the bugs found during the test case execution.

Delivery & Maintenance phase involves installing the application in the customer place and providing the details such as release notes to the customer.
Maintenance or support Team will help the customers if they face any issue when using the application.

Software Testing - It is the process of verifying whether a software application or a software product meets the business and technical requirements. i-e verifying whether the developed software application works as expected.

It will be done by comparing the Actual result against the Expected Result.

For example, if the requirement says “After entering valid username and password the user should be logged in to the website” software testing is nothing but just entering valid username and password to verify whether the user got logged in to the website.

But, doing software testing is not so simple, lot of complex factors involved in doing testing. It needs lot of thinking and brainstorming processes.

In this simple example, we should know below things.
  • In which environment we need to do the login testing?
  • What is valid username and password?
  • How to verify whether the user really logged into the website?
  • How long it will take to complete the login?
  • How the system should behave if the user enters invalid username or invalid password?
  • What will happen if the user already logged in?
  • How the system should behave if someone continuously try to login by giving invalid username and password?
  • Is it possible to reach the target page even without doing login?
  • How the system will behave if there is any network issue once after entering the username and password?
  • What will happen if two people try to login with same username and password simultaneously from two different machines?
  • How the system will behave if the user doesn’t use the website for longtime once after getting logged in?
  • Will the login process take same time even after Millions of users registered with the system?
  • What will happen if thousands of people try to do login at same time?
  • What message will be shown to the user if the database which stores the user details goes down?
  • Will the system provide any other interface (e.g API, webservice) other than the standard UI for doing login?
  • How to help the user if he forgot the password?
  • Will the system allow the username in non-English also?
  • Most importantly, when we need to do this login testing?
  • What are the pre-requisites? (e.g user should be registered before testing login).
  • Is it necessary to do the testing in production environment also?
  • To whom should we report if the Testing fails? And, what are the details we need to provide? How we come to know once it got fixed? What we need to do once after it got fixed?
  • Is there any option (e.g Remember Me cookie, auto-complete) for making the login easy
  • Will these options break the login system in any way
  • Whether anyone (e.g hacker) can access the password while doing login?
  • Whether the password is not readable to the developers of the system so as to avoid any misuse? (e.g password encryption before storing it in Database)?
  • If we need to do this testing multiple times in many environments, is there any easy way to do the testing? (e.g using scripts and automation tools such as QTP)?
  • Will it work correctly in different user interfaces (e.g Different browsers such as Internet Explorer, FireFox, Safari, Chrome), and in different settings (e.g javascript disabled)?
  • Is the code is written well enough so that future enhancements can be made easily?
  • Who has to do this testing? Whether the developer of the system can do the testing also?

So, it is important to have clear understanding of testing approaches before start doing any testing.

Functional & Non-functional Testing

Functional testing mainly focuses on verifying whether the features requested in the requirement document are working correctly.

Non-functional testing is checking the performance, stability, scalability, usability, internationalization and security of the software application.

Testing methods

Whitebox, blackbox and Greybox are three Testing methods.

White box testing will be done by going thro’ the coding and by understanding the algorithm used in the coding. It includes API testing and code coverage.

Black box testing will be done without knowing internal structure or coding of the application. It will help to find more bugs effectively. But the tester may spend more time by writing many test cases to check something which could have been tested easily by writing one test case.

Grey box testing involves having knowledge of internal data structures and algorithms for writing the test cases, but testing at the user, or black-box level

Testing levels

Unit Testing or component testing will be done by the developers to make sure that the small piece of the code works correctly.
Each and every unit of the program will be tested in order to confirm whether the conditions, functions and loops are working fine or not.

Integration Testing will help to expose defects in the interfaces and interaction between many different modules of the program.

System testing will be done by the Testing Team to make sure that the program or application meets the requirements.
It includes GUI software testing, Usability testing, Performance testing, Stress testing, Security testing, Scalability testing, Sanity Testing, Smoke Testing, ad hoc testing, etc..

Regression testing will done to make sure that the application or program is not affected by any code change done to the application. i-e Already working functions in other modules of the program should continue to work after changing any of the module .
We need to test each part of application even when the code change is done in any specific part or module of the program. Automation tools will be useful for doing regression testing.

Alpha Testing will be a part of user Acceptance testing. It will be done in the developers premise, and will be done by the customers or by independent test team.

Beta testing comes after alpha testing. Beta versions of the Software will be released to a limited number of people outside of the programming team.
Actual release will be done if there are no major issues found in Beta testing.

Testing Artifacts

Test plan is a document which describes the objectives, scope, approach, and focus of a software testing effort. It will be made available for development team and business people also so that they can understand the testing activities done by Testing Team.

It will cover the features to be tested and features not be tested.

Testing environment details, risks, Responsibilities, testing schedule, Test deliverables and resource allocation details will be included in the Test plan.

So, it will be useful to have overall view of the testing activities to be done in particular release of a software application.

Traceability matrix is simply a mapping between the requirements and the Test cases. It will be prepared in a tabular form. i-e in excel spread sheet.

Once column will have the list of the Requirement IDs and the next column which have Test case IDs which test that requirement.

It will help to make sure that test cases are written well enough to cover all the requirements.

Similarly we can have reverse Traceability matrix also. i-e mapping between test cases and the requirements.

It will help to make sure that we are not having any test cases for the requirements which are not asked by the customer.
Test suite will be the collection of the Test cases. Mostly all relevant test cases will be grouped as one test case document. For example, the test cases which will test the login module will be stored in a particular spread sheet file named as “login_testcases.xls”. It can contain information such as Name of the module, description, total number of test cases and details of reference document (i-e requirement document, use case,etc).

Test case will have below things.

Test case ID for uniquely identifying the test case. For example, Test case ID can be TC001,TC002,….
Test case description will have condition which we are going to test.
e.g To verify user sees the message “invalid login details” when they enter valid username and invalid password”
Test steps will give details or steps required for executing this test case
e.g 1. Go to the login page
2. Enter valid username.
3. Enter invalid password.
4. Click “login” button.
Expected Result will give the details about the behavior or result we should see once after executing the test steps.

e.g User should see “invalid login details” message in Red color at top of the page.

Author who writes this test case.
Automatable- To mark whether this test case can be automated using automation tools such as QTP.

Apart from above things we can add pass/fail and remarks while executing the test cases.

Test case can be written by referring use case document and requirement document. We may need to refer the application for writing test cases.

We can use some techniques such as Equivalence partitioning and boundary value analysis for writing test cases.

According to Equivalence partitioning, writing one test case for each partition of the input data is enough. For example, if a password field accepts minimum 4 characters and maximum 10 characters, then there will be three partitions. First one is a valid partition 4 to 10. Second is invalid partition of values less than 4. Third one is another invalid partition of values more than 10. We can take one value from each partition to do the testing.

In this example the boundary values based on boundary value analysis are 3,4,5, 9,10 and11.

Software Test life cycle.

Test Planning - Scope of the testing will be defined according to the budget allocated for the testing. And, Test plan document will be prepared by the Test manager.

Test development- Test Cases will be written by the Testing Team (QA Team) during this phase. Test data files also will be created.

Test execution- Testers will execute the test cases and will report the issues to the development Team for fixing them.
Performance test should be executed only after the functional and regression testing got completed.

Bug Tracking is the methodology used to follow up the bugs/defects/issue found during Test execution. There are many free tools (e.g Bugzilla.) available for doing bug tracking effectively.
Normally the bug will be tracked as standard bug life cycle.
It will have below states.

New: When a tester finds a bug first time the state will be “NEW”. This means that the bug is not yet approved.

Open: After a tester has posted a bug, the lead of the testing team will check whether the reported bug is genuine and the he will change the state as “OPEN”.

Assign: The developerment Team lead will assign the bug to particular developer for fixing it. Now the state will be changed to “ASSIGN”.

Ready-to-Test: Once the developer fixes the bug, he will assign the bug to the testing team for next round of testing with the status "READ-TO-TEST".

Deferred: The status will be changed to "DEFERRED" if the team decides to fix it in next release or the priority is very low.

Rejected: If the developer decides that the bug is not genuine, he can reject the bug. Then the state of the bug is changed to “REJECTED”.

Duplicate: If the bug is repeated twice or the root cause for two bugs are same, then one bug status will be changed to “DUPLICATE”.

Verified: Once the bug is fixed and the status is changed to “Ready-to-test”, the tester tests the bug again. If the bug is not present in the software, he approves that the bug is fixed and changes the status to “VERIFIED”.

Reopened: If the bug still exists even after the bug is fixed by the developer, the tester will change the status to “REOPENED”. The bug will go thro' life cycle once again.

Closed: Once the bug is fixed, it will be tested by the tester again. If the tester verifies that the bug no longer exists in the software, he changes the status of the bug to “CLOSED”. This state means that the bug is fixed and tested again.

Reporting- Test summary report should be created for explaining the steps taken for delivering quality product. This summary report should show the number of test cases executed, how many passed and how many failed , test coverage, defect density and other test metrics. And, it should show performance test result also.

You can buy my Book about Software Testing from Amazon.

You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Saturday, April 17, 2010

Still PayPal is having some issues with Indian Bank withdrawals


In my previous posts I have explained about some issues related to bank withdrawals from PayPal in India.

These issues were solved by introducing purpose code.

It seems again PayPal is facing some difficulty with Indian Bank withdrawals.

Especially the withdrawals initiated during April 7th and April 9th are still in pending status only. You can see some discussions about this issue here.

I too face such an issue with PayPal.

The withdrawal initiated during April 7 th is still in Pending while withdrawal done on April 13th got completed.

So, I contacted the PayPal support Team.

I sent below email to them.
(I have replaced some details with ####)


'I started withdrawal to my bank account on
##-Apr-####.

But the status is still showing as "pending" only even after # days.

Can you please update me why it is showing as "pending" and let me know
when it will be completed?

I came to know that many discussion forums are having lot of different
stories as reason for this issue.

Why not you simply send some updates about this issue so that I will not be confused by these discussions?

I am expecting your reply soon.

Thanks,
Rajamanickam'


I got below reply from them.

Dear ###,

Hello my name is Luis. I am sorry to hear about this situation, and
understand your frustration and concern regarding your withdrawal
status.

I’ve just checked your account and I confirmed as you told me that you
make a withdrawal to your bank account on April 7 2010.

When we withdraw money it takes from 4 to 7 business days to appear con
your bank statement. If in 14 business days it doesn’t appear

Then PayPal can star a tracking process of your money.
But in this case we recomend you to wait for the 4 to 7 business days to
complete.

Thanks for sharing your concerns with us. We value what you have to say,
and we know situations like this can be difficult. If you have more
questions, visit our Help Center by clicking "Help" in the top right
corner of any PayPal page.

Sincerely,
Luis
PayPal, an eBay Company



I sent the below reply after 4 days.



Thanks for your reply.
Still the status is showing as "Pending" only even after 7 business days completed.
Please let me know whether I need to do anything from myside.

Thanks,
Rajamanickam


And, I got below reply.


Dear ### ###,

Thank you for contacting PayPal.

At this point, there is no need to submit further information, the
deposit will be arriving at your bank account, only that it may be
delayed and should post within 14 business days. We apologize for this
inconvenience, and please do contact us again if you still have not
received the money after said date.

Thank you for giving us the opportunity to be of service and for
choosing PayPal for you online payment needs. We value your business and
we look forward to further strengthening your customer satisfaction. For
further assistance, you may call 1-402-935-2080.

Sincerely,
Ralph Veron
PayPal, an eBay Company


I thought this reply was completely meaningless. So I replied as below.

Hi,
Thanks for your reply.

Really, I couldn't understand why you are telling as 14 business days now, whereas it is mentioned as 4 business days everywhere in the paypal site.


Can you give more details why it is still showing as "Pending"?
I am really frustrated with this behaviour.
I am planning to set-up some shopping carts using paypal alone. But, these type of behaviour really force me to think about using paypal in shopping cart.
And, basically I am web developer, currently I am recommending our clients to use paypal in their shopping carts. But recent issues with paypal reduces my reliability among our clients. It is really worst thing in my development career.

Thanks,
Rajamanickam



And, I received below reply.


Dear ### ###,

Thank you for contacting PayPal.

I am responding to your recent inquiry regarding the ACH electronic
funds transfer that you requested from your PayPal account. Our records
indicate that this transfer has been successfully sent to your ###
Bank account ending with ### on ### in the amount of ###
USD. This ACH transaction has not been rejected back to us by your bank;
therefore we suggest that you contact your bank to see if these funds
have posted to your account. PayPal has no control over the length of
time it takes your bank to post their credits, and we do not receive
confirmation when your credit has been received by your bank. Please
note that the funds may have posted with our processing bank name and
not the name of PayPal.

If you would like us to initiate a trace for that transfer, we would
first need to receive a copy of your physical bank statement from Apr.
1, 2010 through Apr. 15, 2010. Please fax that information to 070 359
910, Attn: Global Services Trace Request. As soon as we have received
this information, we will initiate a trace and contact you with the
results when they have been received.


Please note:

- PayPal has no control over the length of time it takes your bank
to post their credits, and we do not receive confirmation when your
credit has been received by your bank.
- Please note that the funds may have posted with our processing
bank name and not the name of PayPal.


If you require more information other than what I have provided, please
give us a call at 1-402-935-2050 and we will try our best to give you
immediate answers. Thank you for choosing PayPal for your online payment
needs. We appreciate your business.

Sincerely,
Jasmine
PayPal, an eBay Company



I feel that this reply is meaningless. And, all these email communications didn't help in anyway other than just knowing some names of PayPal support Team members.

So, I sent below message. I copied this message to farhad@paypal.com also.



Thanks for your reply.

You have mentioned as Our records indicate that this transfer has been successfully sent to your ICICI Bank account ending with ### on ### in the amount of ### USD.

If the transfer has been sent to the bank account means why status in paypal is still showing as "Pending"?

From your statement "we do not receive confirmation when your credit has been received by your bank" I understand that "completed" status in paypal represents the transfer completion from paypal side. Then why it is still showing as "Pending" while you are saying that transfer to bank is completed?


So, I believe contacting the bank with paypal "pending" status is completely meaningless.

Previously, I have worked with IT division of some banking and financial institutions (BNY, citigroup) . I understand that all financial institutions will have proper settlement systems.

So, I can contact our bank only if the status in Paypal got changed to "completed".


Please let me know if I am understanding anything wrongly.

I really appreciate your proper reply for my questions. But I believe solving the issue will be much more better than giving answers.


Thanks,
Rajamanickam


I am just thinking that why there are no effective alternates for PayPal. I heard that some Indian based payment gateways such as ccavenue are available . But will they attract international customers?

If RBI regulations are the root cause for these PayPal issues, will RBI take any solid steps to promote any India based Payment processor/gateway?
For example, if I want to develop a payment gateway by following RBI regulations completely, will RBI give enough guidance to make our Payment gateway more successful than PayPal?
Since India supports Globalization, I believe internationally accepted payment gateway/processor in India is very much required. Either we need to develop our own gateway internationally or at least we should force any existing gateways such as PayPal to act properly for serving Indian customers without any issues.

If the Indian users spend most of their time dealing with meaningless and unnecessary issues, how they can spend time to develop their business? Does the RBI think that all Indian are born in India just to serve the foreign corporates by doing the work ( Data entry, customer support )which they don't want to do by their-self.

I heard that RBI is still corruption-free. So, I believe it will take some solid steps to solve all these issues.


Updates on April 19.
I got below message as reply for my previous mail. This reply also doesn't solve the issue. Anyway, atleast they included my account to ticket specific for this issue. So, I believe it will be solved soon.


Thank you for contacting PayPal.

In review of your account, I can see here that our records indicate that
this deposit has not been rejected back to us by your bank. I understand
that you are still seeing 'pending' status in your account. We are aware
of this issue and I sincerely regret the inconvenience it has caused
you. I have been added your account to the ticket that we have regarding
this issue. Rest assured that we will resolve this as soon as possible.

However, I still suggest that if it has been more than 7 business days
and your withdrawal is still not reflecting in your bank account
balance, please contact your bank to check on the funds. If it will not
be posted, the money will be returned back to your PayPal balance.

I'll be glad to hear from you if you need clarification. Just give us a
call at 1-402-935-2050 and we will try our best to give you immediate
answers. Thank you for choosing PayPal for your online payment needs. We
appreciate your business.

Sincerely,
April Marie
PayPal, an eBay Company

Update on April 20
Finally April 7th withdrawal got reversed and re-initiated the withdrawal again today.
Reversed amount is less than original amount due to fees and conversion rate difference.
Anyway, I think paypal will add the difference amount soon as they mentioned in their email (refer the below message).



Due to a technical issue we were experiencing between April 6 and 9, the withdrawal you initiated to your Indian bank account was not completed.

This issue has been resolved and we are in the process of restoring your PayPal account balance. In addition, you will see a reimbursement during the coming days for any applicable fees. After this has been completed, you may request another withdrawal to your bank account at your convenience.

We apologize for any inconvenience that this may have caused.

Sincerely,
PayPal






More Articles...


You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Advantages of using Descriptive Programming in QTP


Recently I have published an eBook for learning Software Testing and QTP Automation.

One of review comments I got for this eBook is, Advantages of using Descriptive programming (DP)in QTP is missing in this eBook.

So, I am planning to add below things as advantages of Descriptive programming.


1. We can start work on writing QTP scripts even before the application under Test is NOT available. It will help to increase the utilization of the Automation scripts as it will be immediately available once the application get released.

2.We can define the properties of an object without considering the parent objects in the hierarchy. i-e Object identification will not depend on its parent object.

Please let me know if we can add any other advantage.

If you don't know what is Descriptive programming you can read below.

Instead of using Object Repository for storing properties of Test objects, we can straight-away define the properties while writing the script itself.

It can be done in two ways.

One is, by giving the description in form of the string arguments.

For example a text box having html code as <input type="text" name="txtUser"> can be accessed as below.


Browser(“Browser”).Page(“Page”).WebEdit(“Name:=txtUser”,”html tag:=INPUT”).set “QualityPoint”.


The other way is using Decription.create as below.

Set objDesc = Description.Create
objDesc(“html tag”).value= “INPUT”
objDesc(“name”).value= “txtUser”
Browser(“Browser”).Page(“Page”).WebEdit(objDesc).set “QualityPoint”.


You can read my previous article to know the disadvantages of this Descriptive approach.

Click here to buy eBook useful for learning Software Testing and QTP Automation.

More Articles...


You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Friday, April 9, 2010

Use our Social Bookmarking feature to save your time.


Normally we use Search Engines such as Google and Yahoo for searching our desired or required articles.

It will take significant amount of time/effort.

And, we will again spend same time to search the same article after 1 or 2 months.

To avoid this unnecessary time wastage, we can bookmark this link/url of the article in our browser.

But it won't help if we use multiple computers (e.g Home computer, office computer, public computers)

To handle this issue, we can use social bookmarking sites.

We have released our bookmarking site. You can read the details here. I would like to thank our Team (Especially Anbarsan K )for their hard work to develop this site.

Basically this site will be very useful for bookmarking your favorite links. And, you can save lot of time by referring the bookmarks shared by an expert in your field.

You need to be a member of our Forum to use this bookmarking feature.

Since we are taking very hard steps to keep only genuine users in our Forum, we can expect bookmarking of many good articles soon.

Use below bookmarklet to bookmark your favorite articles very easily even without remembering our website address.

QualityPoint Bookmarklet

We know that hundreds of bookmarking sites are available. And, lot of free bookmarking codes are available, then why we developed our own bookmarking site?

The answer is simple, we want to have our own framework which can be extended easily to provide more features later.

We are having lot of plans to keep our bookmarking site unique and useful for our users.

We will implement them one by one once after getting feedback from the users.

Our Team is working hard to implement them in effective manner.

And, one more reason is I didn't find any popular social bookmarking & news sharing site which supports family-friendly discussions. So, I thought of bringing our social bookmarking site as place for doing family-friendly discussions.

You can report us (info@qualitypointtech.net) if you find any link which is not inline with our policy. And, the users who submit such a link will be banned immediately.

Contact us to get free quotes if you want us to develop similar product for you.

If you want to promote your blog or website you can submit your links in our site. Because this submission will give some SEO advantage also.

More Articles...


You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Tuesday, April 6, 2010

Knowledge Base for VC++


Recently our Team has done a project in VC++.

Find below some useful links and other information collected by our Team member while doing this project.

1.The Following Links for know about Files in c++ CplusPlusTutorial for Files CplusCplus Tutorial for Files
2.Useful tutorial about create MFC Dialog MfCDialog
3.Any error occurred during compilation in MFC dialog based application vc++6.0 following link will be useful for handle that. VC++ Error Message
4.When I Run Cpp program it show error c1010 precompiled directive
Solution:
Include header statement in your cpp file
Using namespace std;
5.When error occur on reading a file, like getline is undeclared identifier
Solution:
Put #include header file in your cpp program
Refer this link if any clarification
6.Call Exe from MFC Exe ShellExecuteEx
Solution:
If you want to execute a exe file form the mfc dialog application in vc+6.0 we can use ShellExecute or System or ShellExecuteEx Funtion Better Use the ShellExecuteEx funtion beacuse this function We can run any (.exe)file using ShellExecuteEx command it will handle the time taken to complete the loading process , onces it completed executing return 0 otherwise wait for the process until complete.
7.How to call Firefox.exe through command line parameter
The Following link will be useful for how to call every command through commandlineargument
Command Line Parameters
8.To Changing backcolor of dialog follow this link
Change Background color of dialog in mfc
9.How to display a string in window or button etc at runtime using variable
Solution
In Vc++6.0 all string are in lpcstr format so you can declare variable as normal string and caste to c.str() and pass it to function.
Example:
String sample;
SetwindowText(sample.c_str());
10.How do we remove file from a folder ?
Solution:
Use the following code
If( remove( "path”)!= 0 )
perror( "Error deleting file" );
else
puts( "File successfully deleted" );
return 0;
11.How do we pass variablename for giving path to open dynamic file at run time
Convert the string variable name to c.str(). and pass it the ifstream function
variablename=”path”;
if(remove(variablename.c_str())!=0)
12.How do we set font for statictext or button caption ,radiobuttons etc.,
SetFont
CFont m_Font; put this in header file of dialog
Add the following code to the initdialog
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT)); // zero out structure
lf.lfHeight = 12; // request a 12-pixel-height font
strcpy(lf.lfFaceName, "Arial"); // request a face name "Arial"
VERIFY(m_Font.CreateFontIndirect(&lf)); // create the font
Call through member function
m_btton.SetFont(&m_font);
Follow this link is useful
13.How do display file contents or button using loop in dialog window continuously
We can call Doevents Function it repaint the window for each iteration .
Example
void DoEvents() // for display at a time
{
MSG msg;
if(::PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}
14.ADD PAGE UPAND PAGE DOWN in dialog window
How to Trigger function when pagdown and page up key is pressed
Follow this link
15.How do we change the title of the dialog Windows ?
If we create the mfc dialog application in some sample name, we want to rewrite the title name of the dialog window
Write this code on InitDialog
Example:
SetWindowText(“This is new title”);
16.How to display color text in button or label ,static text ?
Using OnCtlColor() function we can display color text
Example:
When this function called by program?
If we have create control at runtime ,it will call after creating control
(i)Decalaring function OnCtlColor() as a protected in dialogheader file
HBRUSH CclassnameDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
(ii)Define function with in DlgCpp file.
HBRUSH CRefreshcontDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID()==controlid )//if(nCtlColor==CTLCOLOR_BTN)
{
pDC->SetTextColor(RGB(255, 0, 0));//redcolor
pDC->SetBkColor(RGB(255, 255, 255));//background white color
}
return hbr;
}
17.How to set a pageup and down event in dialog mfc?
Add PreTranslateMessage function to your code by right click on dialogbox ,click classwizard and click add the function and click ok. In coding window write the following message.
Example:
if(pMsg->message==WM_KEYDOWN)
{
OnKeyDown(pMsg->wParam, LOWORD(pMsg->lParam), HIWORD(pMsg->lParam));
After that the same procedure followed by adding the PreTranslateMessage function to dialog window ,like that this function (WM_KEYDOWN) is added to your code window, OnKeyDownEvent catch the pageup or down when user press the key
if ( nChar == VK_PRIOR )
{
OnVScroll(SB_PAGEUP, 0, NULL);
}
else if ( nChar == VK_NEXT )
{
OnVScroll(SB_PAGEDOWN, 0, NULL);
}
When we press page up or down , this keydown will call vscroll function for move the cursor positon to pageup or down.
18.How do we capture the button position in dialog window in mfc?
We use GetDlgItem function for getting the id of the control and use following code.
Example:
POINT pts;
CWnd *pwnd = GetDlgItem(IDC_BUTTON1);
pwnd->GetWindowRect(&rc);
pts.x = rc.left;
pts.y = rc.top;
ScreenToClient(&pts);
19.How we will open multiple tabs in the firefox using command line arguments?
Firefox.exe www.google.com www.codeguru.com www.qualitypointtech.com




More Articles...


You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Picking a desired video thumbnail in YouTube


YouTube will automatically generate three representative video thumbnails once after uploading the video.

Google support article says,


You don't have the option to use any of the frames from your video as your thumbnail. You also can't use pictures or frames from other videos not within the video in question.


It seems Google has put this restriction to prevent the users who try to show thumbnails irrelevant to the actual video.

But it affects Genuine users also. If you know anyway to put our desired thumbnail in youtube video you can share it thro' comments section or in our forum

More Articles...


You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Steps for forwarding email to php script


Recently I have worked in a project which requires processing email using php script before sending into the email user.

We used forward pipe option in the cPanel for sending the email to a php script for doing the required email processing.

I came to know that we need to follow below things.

- Put #!/usr/local/bin/php -q before <?php in the php script.

- The php file should have chmod 755 permissions, otherwise we will get "local delivery failed" error message.

- We may need to use MIME decoding.


More Articles...


You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Friday, April 2, 2010

sourceforge.net for sharing open source projects


Daily Stats for 29-Mar-2010
13,554,123 pages served
2,817,863 files downloaded
224 new projects approved

Above data is single day stat for SourceForge.net which is the world's largest open source software development web site.

SourceForge.net is having more than 230,000 software projects and having more than 2 million registered users.

SourceForge.net is owned and operated by Geeknet, Inc. which provides the famous News sharing site SlashDot.

You can follow @sourceforge to get latest updates, or you can read their blog at http://sourceforge.net/blog/

Find below the list of Top 25 Projects in SourceForge.net

1. PostBooks ERP, accounting, CRM by xTuple


https://sourceforge.net/projects/postbooks

Free open source ERP, accounting, CRM package for small to midsized
businesses. Runs on Linux, Mac, and Windows (built with open source Qt
framework). Business logic resides in PostgreSQL database. Rich API for
connecting to third-party apps.

Features:

  • Full accounting (general ledger, accounts payable and receivable, bank reconciliation)
  • Fully integrated CRM (incidents, to-do list, address book, opportunities, projects)
  • strong inventory control for manufacturers, distributors, retailers
  • robust API built with PostgreSQL database views, encapsulates all business logic and data integrity
  • fully integrated OpenRPT report writer to customize reports, Qt Designer to customize screens

2. phpMyAdmin


https://sourceforge.net/projects/phpmyadmin
phpMyAdmin is a tool written in PHP intended to handle the administration
of MySQL over the Web. Currently it can create and drop databases,
create/drop/alter tables, delete/edit/add fields, execute any SQL
statement, manage keys on fields.

Features:

  • Intuitive web interface
  • Support for most MySQL features
  • Import data from CSV and SQL
  • Export data to various formats: CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument Text and Spreadsheet, Word, Excel, LATEX and others
  • Administering multiple servers
  • Creating PDF graphics of your database layout
  • Creating complex queries using Query-by-example (QBE)
  • Searching globally in a database or a subset of it
  • Transforming stored data into any format using a set of predefined functions, like displaying BLOB-data as image or download-link
  • And much more...

3. 7-Zip

https://sourceforge.net/projects/sevenzip

7-Zip is a file archiver with the high compression ratio. The program
supports 7z, ZIP, CAB, RAR, ARJ, LZH, CHM, GZIP, BZIP2, Z, TAR, CPIO, ISO,
MSI, WIM, NSIS, RPM and DEB formats.

4. Notepad++
https://sourceforge.net/projects/notepad-plus

Notepad++, a source code editor and MS Windows Notepad replacement, has the
mission to offer a greener environment. By optimizing its routines, it
results in reducing CPU power consumption then reducing the world carbon
dioxide emissions.

Features:

  • Syntax Highlighting and Syntax Folding
  • User Language Defined System
  • Tabed document and Multi-View
  • More than 50 languages supported
  • Full Drag ‘N' Drop supported
  • Macro recording and playback
  • Extensible with its plugin system

5. KeePass Password Safe

https://sourceforge.net/projects/keepass

KeePass Password Safe is a free, open source, light-weight and easy-to-use
password manager for Windows. You can store your passwords in a
highly-encrypted database, which is locked with one master password or key
file.

6. Arianne RPG

https://sourceforge.net/projects/arianne

Arianne is a multiplayer online engine to develop turn based and real time
games providing a simple way of creating the game server rules and clients
like Stendhal. Our engine Marauroa uses Java and SQL for hosting hundreds
of players on a solo host.

Features:

  • NPCs
  • Quests
  • Adventure
  • Client-Server
  • Java
  • MySQL-support
  • Game Server
  • Keep It Simple approach
  • Release early, release often
  • Statistics website
  • Graphics

7. IXThemes

https://sourceforge.net/projects/ixthemes

IXThemes is an implementation of innovative methods in the development of
qualitative universality themes and templates for content management
systems based on the XOOPS Web application platform such as pure XOOPS,
ImpressCMS, EXM System, and others.

8. Openbravo ERP

https://sourceforge.net/projects/openbravo

Openbravo ERP is the professional web-based open source ERP solution
providing unique high-impact benefits: 1) Comprehensive 2) Innovative 3)
Cost effective. | IMPORTANT NOTICE. Openbravo ERP project community is now
active at http://forge.openbravo.com

9. OrangeHRM - Human Resource Management

https://sourceforge.net/projects/orangehrm

OrangeHRM is an Open Source Human Resource Management System that covers
Personnel Information Management, Employee Self Service, Leave, Time and
Attendance, Benefits, and Recruitment. Tags: HRM, HRMS, HCM, HRIS, EHRMS,
Human Capital Management

10. ADempiere ERP Business Suite

https://sourceforge.net/projects/adempiere

ADempiere Business Suite ERP/CRM/MFG/SCM/POS done the Bazaar way in an open
and unabated fashion. Focus is on the Community that includes Subject
Matter Specialists, Implementors and End-Users. We are a community fork of
Compiere.

11. MinGW - Minimalist GNU for Windows

https://sourceforge.net/projects/mingw

MinGW: A native Windows port of the GNU Compiler Collection (GCC), with
freely distributable import libraries and header files for building native
Windows applications; includes extensions to the MSVC runtime to support
C99 functionality.

12. MediaInfo

https://sourceforge.net/projects/mediainfo

Get technical information and tags of a lot of multimedia files. Supported
formats : - Video : AVI/OGM/MKV/MPG/VOB/MP4/3GP/... - Audio :
MP3/OGG/MKA/MP4/AAC/...

13. Clonezilla

https://sourceforge.net/projects/clonezilla


Clonezilla is a partition or disk clone tool similar to Norton Ghost. It
saves and restores only used blocks in hard drive. Two types of Clonezilla
are available, Clonezilla live and Clonezilla SE (Server Edition).

14. TCPDF - PHP class for PDF

https://sourceforge.net/projects/tcpdf

TCPDF is a PHP class for generating PDF documents without requiring
external extensions. TCPDF Supports UTF-8, Unicode, RTL languages and HTML.


15. ZK - Simply Ajax and Mobile


https://sourceforge.net/projects/zk1

ZK is Ajax Java framework. With direct RIA, 200+ Ajax components and a
markup language, developing Ajax/RIA as simple as desktop apps and HTML/XUL
pages. Support JSF/JSP/JavaEE/Spring.., Ajax Push, and Ajax script in
Java/Ruby/Groovy/Python/JavScript..

16. Zenoss Core - Enterprise IT Monitoring

https://sourceforge.net/projects/zenoss

Zenoss Core is an enterprise network and systems management application
written in Python/Zope. Zenoss provides an integrated product for
monitoring availability, performance, events and configuration across
layers and across platforms. Zenoss can monito

17. GIMP on OS X


https://sourceforge.net/projects/gimponosx


This project provides pre-build GIMP application bundles for Intel and PPC
Macs and tools for building GIMP on Mac OS X easily.

18. FreeCol

https://sourceforge.net/projects/freecol

FreeCol is an open version of Colonization. It is a Civilization-like game
in which the player has to conquer the new world.

19. Webmin

https://sourceforge.net/projects/webadmin

A web-based system administration tool for Unix servers and services.

20. TinyMCE

https://sourceforge.net/projects/tinymce

TinyMCE is a platform independent webbased Javascript HTML WYSIWYG editor
control, developed in JavaScript/ECMAScript, higly customizable. Works in
Mozilla, Firefox, Opera, Netscape, IE, Safari and Chrome.

21. Task Coach

https://sourceforge.net/projects/taskcoach

Task Coach - Your friendly task manager. Task Coach is a simple open source
todo manager to manage personal tasks and todo lists. Often, tasks and
other things todo consist of several activities. Task Coach is designed to
deal with composite tasks.

22. Sweet Home 3D

https://sourceforge.net/projects/sweethome3d

Sweet Home 3D is an interior design Java application for quickly choosing
and placing furniture on a house 2D plan drawn by the end-user, with a 3D
preview.

23. DVDStyler

https://sourceforge.net/projects/dvdstyler


DVDStyler is a cross-platform free DVD authoring application for the
creation of professional-looking DVDs. It allows not only burning of video
files on DVD that can be played on standalone DVD player, but also creation
of individually designed DVD menus.

24. CMU Sphinx

https://sourceforge.net/projects/cmusphinx

Sphinx is a speaker-independent large vocabulary continuous speech
recognizer released under a BSD style license. It is also a collection of
open source tools and resources that allows researchers and developers to
build speech recognition systems.

25. OpenXava

https://sourceforge.net/projects/openxava

Framework to develop AJAX JavaEE/J2EE applications rapidly and easily.
Allows to define applications just with POJOs, JPA and Java 5 annotations.
Feature rich and flexible. Generates JSR-168 portlet applications (Liferay,
WebSphere Portal, Jetspeed).


More Articles...


You can bookmark this blog for further reading, or you can subscribe to our blog feed.
Read more ...

Search This Blog