In testing process alpha testing is done in develoment site and beta testing is done in customer site. What is mean by "development site" and "customer site". Please explain with example.
Development site would be where you're programmers/developers develop the code. For example within an office, using dedicated machines for software development.
Client site would be where the software will actually be installed and run, for example a factory or office depending on the software being produced.
The development site is where you are doing your development. So you would be doing the testing on your own servers. Alpha testing is the testing that is carried out by the development organisation.
The customer site is where the customer will be using the system you develop. This testing is done on their servers. Beta testing is testing that is carried out by the users. They are the ones that have to like and be able to use the system.
For example, you are doing a program for Acme Corporation. You develop at your offices against a database server that you maintain. This is the development site. You do the testing here.
Then when you are happy with your testing, you deploy your application on Acme Corporations servers. This allows the customer to have access to your program so they can do testing. It ensures that any hardware or configuration problems on the machines that the system is actually going to be run on can be ironed out before going live.
If you dont test on the customers site, you could get into all sorts of trouble when going live. Say you install the application on the go live date, suddenly you realise that the clients do not have TCP/IP installed on their network, and they are all running MS-DOS and their hard drives have a 100mb capacity when your app takes up 3 gig. And anyway your customers are all from Mongolia and cant speak English, which is what all your labels and help files and error messages are written in!
You would be in a lot of trouble!
The developers develop against one copy of the website and database where as the customer uses another website and database to see the product. This allows the developers to test, play and change the code or to put in rubbish records in during testing whilst not disturbing the customer who is trying to use the software properly.