Hi,
I’m developing a lot of websites/applications. I always struggle with the testing site after launch. I would like to be sure that any js error doesn’t exist on site. It’s quite problematic because it takes a lot of time to check it manually.
So now I would like to create a project which is responsible for verifying JS bugs/errors on the typed domain.
It provides an error log in which line it’s occurred and which element you should click on a site to reproduce the bug.
Currently, I’m testing my MVP application so if you’d like to check your site, leave your page URL below.
You can check the alfa version: https://anybug.herokuapp.com
Sounds interesting. I use sentry.io for error monitoring. How does your app compare? Here's a link to my personal site https://keeg.in/
I know Sentry it's a great tool to handle customer bugs. I suppose that you know developer phrases like "Please verify deployed features if it works correctly.", "Check manually if no bugs occur" after deploy.
I would like to save developer life/time and create an "Anonymous" user which will generate all possible clicks on site. Probably Sentry will handle this error but in Sentry, you don't know how to reproduce it in all cases. But in my prototype, You will see how to reproduce the bug and You can see the error log.
I would handle errors before the customer discovers the bug.
See my comment, it's impossible to
generate all possible clicksin order to catch all possible bugs.This sounds like something Bugsnag offers - https://www.bugsnag.com/by-application/web
Hi @Radar,
Thank you for your response. Bugsnag gathers/handles data in the backend site. But I would like to create a tool that you can execute after launch and verify you site without any installation.
That sounds inferior to existing tools. Sentry and I assume also Bugsnag catch any errors that are thrown for any user session. Your tool would only catch errors in the code paths that you explicitly test. Automatically testing code paths is very difficult.
Probably in Your session the customer is the user. I would like to avoid a situation where the user discovers the bug before the developer. So I'm creating anonymous user which will click all paths to generates an error then probably Sentry or other tools will catch.
Your idea might only work if the site you want to test is basically stateless or have very few states (e.g., few binary switches). As soon as the site has just, for example, one form with one form field, you will experience a combinatorial explosion in the number of the states. In that case Monte Carlo, like sampling of the possible states, might help, but then you will not able to claim that you tested all the cases. Practically speaking any useful real-life site living on the net is out of reach of your approach because in reality they have large number of states as others already pointed out. If you really want to understand the basics of the problem I suggest to read the about the rise and fall of the Petri nets https://en.wikipedia.org/wiki/Petri_net
I know a lot of software houses which doesn't have enough time to write unit tests. I know it's patology.
Haha pathology :)) not at all but it's very time consuming and boring, that's why nobody writes them. But I'm not sure how your service can help with it.
Do you mean just show the bugs on your site? You can see all JS errors by opening the JavaScript console (F12 -> console).
Or do you mean automatically testing UI flows and somehow triggering those bugs?
I'm not sure whether you meant a tool that detects all bugs, but if you did here's a short rant:
You can not automatically detect all bugs/errors. If you could, there would no longer be bugs in 2020. The problem is that bugs can appear sometimes in very special conditions, so your software would have to test in all of them, but all means infinity. There can be bugs caused in unique cases such as:
So, as you can see, there is no way to test for ALL bugs. You can have some end-to-end testing or unit testing to catch some of the bugs, but that's already an old, well established practice.
I suppose that we are all developers or IT related, so what you have written is obvious for all of us. And yeah, we know console and F12, r e a l l y.
I meant a case where there is an app with no unit or e2e testing, which still works on production( Believe me, there are many of them). Just after every deploy developer is asked to click around and verify if "everything" works. That's my target.
I did not know what your background is and the question was a bit unclear, thus my longer response to cover all cases.
The idea of automatically clicking around everything to test is interesting and might have some applications, but there are also a few issues that have to be overcome first:
What would be the platform that this app could test well? A static website? A social network? A landing page? Without knowing the answer to this question it is hard to imagine what the product will actually do.
I am not convinced that any of your target market would care about or want your product.
Unit tests or other strategies achieve the goal with minimal time and effort.
Ones who don't bother, aren't looking to spend time or money on this.
Also see this simple and automatic approach actually taking far more developer time in reviewing false positives.
Auto system would report login failure an error, but no password was entered so correct response. But unless previously programmed (eg. unit test) no system will know this.
Maybe the audience is wrong.... could see value from this as a break things tool to help identify and write full range of unit tests. Perfect for the test driven companies, not the test avoiding ones you mentioned.
100 possible inputs and outcomes from a simple login form, quickly review which are intentional, which ignorable and which worth writing tests for.