77 ms·
Hi HN! It’s Mustafa. I’m the founder of Preflight (https://preflight.com https://preflight.com). Preflight is a no-code tool that automates manual web app testi
by mesadb 5y ago
Hi HN! It’s Mustafa. I’m the founder of Preflight (https://preflight.com https://preflight.com). Preflight is a no-code tool that automates manual web app testing. It lets everyone test the product by simply recording actions in the browser with a Chrome extension. Here’s a demo video: https://www.loom.com/share/4b09462bf52942e28b0dc71c9c0c319a https://www.loom.com/share/4b09462bf52942e28b0dc71c9c0c319a.
I was the first engineer at ShipBob and ended up hiring over 40 engineers. We had a lot of UI issues after we grew beyond a team of 5 or so. With all the engineers adding new code to the existing code, everything started to break.
That's when we started writing Selenium tests. I and several other engineers wrote 100 Selenium test cases in 2 months. But we were not able to maintain them in 3- 4 weeks because we had other responsibilities, and our Selenium test cases soon went to trash.
The problem with automated UI tests with Selenium or Cypress is that they depend on the internals of the design (e.g. via CSS and XPath selectors), resulting in tests that break frequently because of unrelated changes. When that happens, you either have to fix all the tests and run them again, or replace the broken automated tests with manual testing.
Then I hired 2 QA engineers, they took 5 months to come up with 5% test coverage and we needed more testing so we couldn't add more to it and maintain those tests as well. These issues pushed me towards creating a tool for automated testing that could understand the context of the page—the way humans do, not the way browser engines do—and can adapt to changes based on each steps' context. So if the UI changes completely and the test is looking for a Password Input in a sign-up form or an Orders menu item in the menu, we will find it without any related selectors.
As humans, we understand the page in terms of buttons, menus, headings, borders, and so on. I wanted to mimic that. On top of that we have implemented a way to understand navigations through these different elements with their context, again, as humans do. We call this Context-Awareness. It’s our secret sauce to adapt to the changes and also calculate what your test coverage is. Since we understand the context of each step, it’s pretty easy to see if, say, a given button is in the tests.
Here’s a video that shows the Context Awareness aspect I just mentioned: https://www.loom.com/share/50426244253943e49906dd881e0fb7d7 https://www.loom.com/share/50426244253943e49906dd881e0fb7d7.
You record your tests using our browser extension, and then we run them on a bunch of Windows 10 machines that access your web app over the internet and execute the tests you recorded. We’re working on adding Macs. (Fun fact: Selenium cannot handle more than 40 nodes. The first version of Preflight was depending on Selenium Grid and it stopped working when we wanted to add more than 40 machines to it.)
We charge money based on how many tests you are planning to run. We don't want to limit you based on server time because it's not easy to predict how much server time your tests will take. So everything is based on test results.
Anyone can sign up and start using Preflight in minutes after signing up at https://app.preflight.com/get-started https://app.preflight.com/get-started.
Thank you for reading. I'd love to hear your thoughts and help all of you with any of your QA needs!