Loading...
Answers
MenuHow can I ensure my site will not have bugs before it gets hit with massive traffic?
Answers
I have been in this situation as well as almost every other web application developer and I learned my lesson along the way.
You said you and 3 others tested, but I feel that 4 people may not be enough. I think at least 50 to 75 people is a much more sufficient number and here is how I do it with my own web apps:
I think that is what alpha and beta versions are for. If an app is just released without it being in beta version, there will be problems, but putting something in beta tells the public that there will be bugs and that those bugs can be tested, so releasing a Beta version prior to your actual release date is one way to go.
Also, when testing for bugs before releasing to massive traffic, all scenarios need to be tested and it is possible that 4 people will not test all of those scenarios or even contemplate them.
I suggest to companies who release software and websites to test in all platforms including, but not limited to:
1. different web browsers including IE, Firefox, chrome, safari
2. different mobile devices including smart phones and tablets
3. operating systems
4. various times of the day where internet traffic may vary and even different days of the week
5. different screen sizes and resolutions
Since every has a different version of all of these factors, testing is needed for more than 4 people.
I said that 50 to 75 people is efficient testing and you may think that is overkill, but it really shows you bugs that you never would have thought of. For that many people, give away something for free as an incentive like a free product or ebook. You will get many people willing to help out for just the incentive.Works for me.
Bruce
The best thing to do is to deep into test automation and automate at least basic scenarios using Selenium/WebDriver tool. But thinking long term you have to invest into making your application testable on all applications layers not just UI. In case you want to check how your application works under high load conditions try to use jMeter tool. In case you need much more details, clarifications or guidance just drop me a call request.
P.S. In case you are not ready yet to invest into test automation then hire manual testers on oDesk or uTest or similar freelancers website.
How I would build this feature "take a number and go to the queue":
1. get a fast datastore central to you servers. All webservers have to look on the same central datastore, because this number has to be unique for each visitor. Redis would be perfect for this task.
2. you have to have a middleware layer in your Rails, Django or PHP setup. All HTTP-Requests have to go through this middleware layer. This middleware layer is reponsible for getting the ticket from Redis and set it as a cookie. If the browser has no cookie, it gets one. If you want to ensure that visitors can't fake the cookie, just add a secret to each cookie/ticket.
Doing this in another layer than middleware will result in bugs because you have to add the code at many different places.
3. Profit (as long as your caching etc. works and you don't get slash dotted)
Performing quality assurance at every stage of development is what you are after. Ideally providing automation at every level coupled with some manual checking. The upfront costs of automation sometimes are daunting but will actually save you money in the long run.
Breaking code and breaking software is how you should thing about it. This puts the responsibility into every team member (designer, developer etc). The earlier the bugs are found the greater the ROI on setting up a world-class quality assurance plan.
Related Questions
-
Should I outsource the development of my app to a mobile development company? Which are recommended/reputable?
I recommend that you get technical cofounder as soon as possible. Using a contract developer to create a prototype is ok but keep in mind that startups need to iterate and be very flexible in the early stages of company/product development. A contract developer works best on a fixed spec and will be hard to adapt without a lot of extra costs and frustration on both sides. Go get a tech cofounder, somebody invested in your product and willing to be flexible and adapt as you discover what your product really is.DA
-
How do I run a successful closed beta for my web application that is almost done with development?
Create an ideal customer profile. Create some questions that will allow to you survey a potential tester to determine if they fit your profile. Design simple landing page with very clear value proposition that speaks to your ideal customer. Ask for a minimum of information up-front (email), but ask for more info after they commit by submitting the first piece of info. (KISSmetrics does a good job of this on their current website trial signup). Use the their answers to these profiling questions to put the applicants into buckets. Let in the most ideal bucket first, or split them into groups if they're big enough. Try and measure engagement the best you can. Measure qualitative and quantitative data. Schedule calls with your beta testers to find out more, especially with the ones who's user behavior seemed to indicate that they didn't get value from your product. Find out why. Make sure they are indeed your ideal customer. Pick up the phone and get to know your customers inside and out. Meet them in person if possible. Incorporate their feedback quickly and get more feedback. Rinse repeat.DH
-
PHP Scripts vs. Wordpress themes for an MVP?
Well this totally depends what your MVP is? What's the functionality? I'd suggest something like http://www.squarespace.com/ our designers with very little technical knowledge have had great success with this. Another option if it's just for demos/feedback is to use something like http://www.invisionapp.com/ for rapid prototyping.MM
-
How should I go about finding and hiring affordable software engineers to build my web/mobile application idea?
I hope this answer will help you in two ways: It should help avoid unnecessary expense being incurred and it should also help you recruit software engineers to build your project. Before you spend a single dime on building, I'd encourage you to validate the idea itself with potential customers. Identify the kind of person you are thinking of solving a problem for, and just explain the high-level concept. Make sure that a sufficient percentage of them are saying "yes, I need this." Then, really distill the idea further into a single piece of functionality that this customer base says they want. There are tools that allow for "drag & drop prototyping" like fluid.io that you can use to create a clickable walkthrough of the user flow you're looking to create. The more that you can do to validate the idea and focus it, the more you can define your "Minimum Viable Product." If you can't find enough of your potential customers to get excited about the idea, I would advise against hiring anyone to implement anything. That said, it's also a lot easier to recruit talent when you can say "I spoke to 100 potential customers and 40 of them said they would use this" or better yet, pay for it. Convincing anyone to work on your idea will be considerably easier if you can show some existing proof or interest around the idea. From there, your best source (assuming you don't have a network of people to draw from) might be local colleges & universities. I would advise against hiring online or working virtually with someone when you are new to building product. I'd be happy to talk to you about your project, how to validate the concept and how - if you decide to pursue it - to hire good talent. Best of luck!TW
-
What learning path do I have to take to become a "full-stack" web developer?
If I was just starting out, I'd consider learning Meteor (https://www.meteor.com/). It's just entered version 1.0 and after working with it for a little less than a year I do have some issues with it but it still makes for a very solid framework that gets you up and running very fast. You would only need to learn Javascript, and you can slowly work your way towards nodejs from there (which Meteor is based on) if you want to, or you could get the basics down and focus on learning design if you prefer.KD
the startups.com platform
Copyright © 2025 Startups.com. All rights reserved.