How can I properly test my web application?

  • Context: JavaScript 
  • Thread starter Thread starter SlurrerOfSpeech
  • Start date Start date
  • Tags Tags
    Application Test Web
Click For Summary

Discussion Overview

The discussion revolves around methods for properly testing a web application designed to handle significant client-server interactions, particularly with a projected load of around 2000 concurrent users and numerous database transactions. The focus includes strategies for load testing, user simulation, and the use of specific tools and technologies.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant suggests programming bot users to simulate load, while another proposes phasing in groups of users to monitor performance and make adjustments.
  • Another participant emphasizes the importance of the specific architecture of the application, noting that testing strategies may vary significantly depending on whether it is built on Java Enterprise with REST calls or other technologies.
  • There is a suggestion to use Selenium for automated testing, which one participant claims to use at work.
  • A query is raised about the necessity of a registration or login procedure, which could help manage user load incrementally.
  • One participant discusses the importance of understanding shared data access patterns and the implications of the underlying technology stack on testing strategies.
  • Another participant recommends building scripts in languages like Python or Perl to automate user simulations and observe application behavior under load.

Areas of Agreement / Disagreement

Participants express a variety of approaches and tools for testing, with no clear consensus on the best method. Different perspectives on the importance of application architecture and user simulation techniques indicate ongoing debate.

Contextual Notes

Some participants highlight the need for a good QA team and the potential limitations of certain technologies in handling multi-threading issues, but these points remain unresolved and depend on specific application contexts.

SlurrerOfSpeech
Messages
141
Reaction score
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
You can program some bot users? You could also try to phase groups of users in. 500 a week and perform fixes as needed.
 
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   Reactions: Silicon Waffle
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.
 
Use Selenium. I use it at work for automated testing of websites.
 
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.
 
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.
 

Similar threads

  • · Replies 15 ·
Replies
15
Views
3K
Replies
7
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
Replies
4
Views
1K
Replies
2
Views
3K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 18 ·
Replies
18
Views
2K
  • · Replies 23 ·
Replies
23
Views
3K
Replies
2
Views
3K
Replies
1
Views
2K