How can I properly test my web application?

In summary: This is where you can build up your own QA team to be in charge of this whole project.In summary, the conversation discusses ways to properly test a web application that will have a lot of client-server action with around 2000 users and a lot of database transactions. Suggestions include programming bot users, using Selenium for automated testing, and implementing a registration or login procedure to gradually increase the number of users. There is also a mention of the importance of understanding shared data and technology used in the application, and the suggestion of building a QA team to handle the testing process.
  • #1
SlurrerOfSpeech
141
11
I'm building a web application that will have a lot of client-server action because (if everything goes as planned) there will be around 2000 users at once and a lot of database transactions happening with each user because I've set up event listeners that auto-save answers to questions on the web page as each user fills it out. How can I properly test it?
 
Technology news on Phys.org
  • #2
You can program some bot users? You could also try to phase groups of users in. 500 a week and perform fixes as needed.
 
  • #3
It really depends on what you've built. If this was a Java Enterprise server with lots of REST calls, I would set up several machines to test the calls with multi-threaded requests. If you're trying to simulate walking through a series of web pages, submitting answers and then handling the response pages, you've got your work cut out for yourself.
 
  • Like
Likes Silicon Waffle
  • #4
Greg Bernhardt said:
You can program some bot users?

How should I do that? Open a bunch of different browser windows and paste in the JavaScript console some code that simulates filling out the survey? That was going to be my plan.
 
  • #5
Use Selenium. I use it at work for automated testing of websites.
 
  • #6
Do you or can you require some kind of registration or login procedure in order to use this application? Then you can start with a low cap on the number of users, and increase it as you gain experience with how the system performs.
 
  • #7
SlurrerOfSpeech said:
I'm building a web application that will have a lot of client-server action because (if everything goes as planned) there will be around 2000 users at once and a lot of database transactions happening with each user because I've set up event listeners that auto-save answers to questions on the web page as each user fills it out. How can I properly test it?
You may need to learn what is and is not common or shared among users; whether the shared data is accessed randomly by or scheduled for access from users; whether your web application already handles this in its source code, which leads readers to another question as to what technologies yours has been built upon (e.g MS ASP.NET technology already offers you solid grounds to play around with synchronicity, model and controller communication channels, and above all the multi-threading issues that are much harder to resolve with use of e.g PHP, etc.
Your question makes me think your company doesn't seem to have, or even if it does, a good QA team. They do have training and are set with or learned to acquire skills and specific mindset particularly when running into tests required for a software application. If you are one of the developers of this application, instead of setting up many computers around as clients, which I don't think sounds practical, you can build some scripts (i.e with either python or perl, for example, which already offers you its threading capability) to automate 2000 or larger numbers of users to send requests to your application then observe its outputs or/and log any's failed attempts or faults, etc.
 

1. How do I test my web application for compatibility with different browsers?

The best way to test for browser compatibility is to use a variety of browsers during development, including popular ones like Chrome, Firefox, Safari, and Edge. You can also use online tools such as BrowserStack or Sauce Labs to test your application on different browsers and operating systems.

2. What is the difference between manual and automated testing for web applications?

Manual testing involves a person manually going through the application and checking for bugs or issues. Automated testing involves using software to run tests and check for bugs automatically. Automated testing is more efficient and can catch larger numbers of bugs, but manual testing is still important for catching more nuanced issues.

3. Is it necessary to test my web application on different devices?

Yes, it is important to test your web application on different devices such as desktops, laptops, tablets, and smartphones. This will ensure that your application is responsive and functional on all devices and screen sizes.

4. How can I test for security vulnerabilities in my web application?

You can use tools such as OWASP ZAP or Burp Suite to scan your application for common security vulnerabilities. It is also important to follow secure coding practices and regularly update your application's security measures.

5. What is the best approach for testing the performance of my web application?

The best approach for testing performance is to use a combination of tools such as Google PageSpeed Insights, GTmetrix, and WebPageTest. These tools can analyze your application's speed and provide recommendations for improving performance. It is also important to conduct load testing to ensure your application can handle a high volume of users.

Similar threads

  • Programming and Computer Science
Replies
15
Views
1K
Replies
7
Views
231
Replies
2
Views
881
  • STEM Academic Advising
Replies
23
Views
1K
  • Programming and Computer Science
Replies
1
Views
1K
  • Feedback and Announcements
Replies
1
Views
416
Replies
1
Views
904
  • STEM Academic Advising
Replies
5
Views
1K
Replies
1
Views
3K
  • Feedback and Announcements
Replies
0
Views
94K
Back
Top