Loading...
Answers
MenuI need advice on developing a software testing strategy quickly?
Anyone have advice on developing a testing strategy that covers realistic production scenarios? I find unit tests to be fast but not very realistic, and functional tests to be realistic but slow and brittle. Anyone have a happy medium? I'm working on a systems integration project and we're leaning on BDD with Selenium, but I'd rather know my options. Maybe a mix?
Answers
I'd recommend looking into these options:
https://www.fiverr.com/
(do a search for QA)
https://www.reddit.com/r/slavelabour/
(e.g. pay $1 per bug committed to Trello)
If you'd like to discuss managing the software testing in more detail in relation to your specific product let me know,
best,
Lee
Yes, there's a lot we can discuss.
We internally use BDD tests (Gherkin for user stories), coupled with Selenium via CoyPu wrapped around any mock-up output (in our case, Indigo Studio).
You can take a look at an example from a while ago on our YouTube Channel (Axelisys Wonder), specifically at:
https://www.youtube.com/watch?v=ZWeC56bL3Oc&list=UUdTOmUegcjXIPtZt2sVutRQ&index=11
What we typically do is:
1. Sit together with the business, BA and a Dev to develop user stories representing customer journeys using "As a... I want... So that..." often in conjunction with mock-up web pages which are then changed into static HTML pages.
2. Run through the primary scenario and develop the "Given... When... Then" statements.
3. Commit that to your Version Control system ("What?")
4. At this point, the devs or a DiT (Developer in Test - if your organisation uses that) can pull it out and wrap the mock-up in CoyPu/Selenium with references to the appropriate elements. The behaviour of the mock-up should represent the user journey. Hence the BDD test should use the same data as the mock-up did. However...
The maximum number of tests should be 2 to the power of the number of "Given" "Ands". So if you have
"GIVEN I am 17 AND I have a driving license"
This counts as 2 test variates and as such, creates upto 4 test cases.
5. As the devs work through the process, they fill out the mock-ups and push data back through the layers (perhaps walking the skeleton for the primary scenario) and filling in any data persistence layers etc. as they go. The very same tests are used to regress existing functionality too.
So the test strategy is basically to make sure you have covered as much of the valuable journey as possible (all primary scenarios/happy paths and the most valuable secondary scenarios, as long as TDD level tests can adequately cover the rest).
How do you know what is adequate? I'll direct you to a couple of articles.
Feel free to arrange a call if you need more information.
http://goadingtheitgeek.blogspot.co.uk/2015/02/code-coverage-metrics-cyclocmatic.html
http://goadingtheitgeek.blogspot.co.uk/2014/09/going-from-acceptance-tests-to-code.html
Best of luck!
There are several options you can consider, some of them have been mentioned by other experts here. I have been helping startups for the past 10 years developing executable business and marketing plans as well software customization and applications development.
If you are paying for the premium access for example you are simply still only getting a tool that extends as far as your time and skill set allow. What you could do instead is also consider another development team whom you can partner with and allocate your budgets to them to do the testing while also providing you with their expertise in software development and customization for various interfaces they can run your tests as fix or provide direct solutions. Companies like www.BetaBulls.com for example can help you with services like that and maybe even fix any errors.
You're absolutely correct in the sense that there are certainly development costs (in terms of both development time and dollars) associated with the available testing strategies. In general, BDD with Selenium should produce outcomes of sufficient quality for you.
Depending on the purpose of the underlying system and how critical it is relative to operations, other additional techniques may be advisable (such as Test Driven Development/TDD or Unit testing) in order to assure adequate coverage of critical core components.
At FarShore, nearly 20% of our staff is tasked with QA testing exclusively, so we are tackling these exact type of questions every day. We usually advise a review the system's purpose, scale, anticipated rate of change for that system's code base, budget and based on that review, recommend a testing strategy that fits best for the parameters provided.
Happy to connect and offer additional insights or help with any guidance I can.
Related Questions
-
I'm a non-technical founder developing a karaoke mobile app. How I should architect my app in term of software/servers used and programming languages?
Better than choose an architecture and try to build the server side of your app, I suggest you to try to find a mate that helps you and was your cofounder. Just you will probably fail in building the app and keeping it working fine in the near future. One-founder teams are very risky for accelerators and VCs. So, you definitely should trust in a co-founder. Read this: http://venturehacks.com/articles/pick-cofounderJL
-
How can I take my skills and experience in product development and turn them into a compelling offering to sell as a consultant?
Seems to me that versatility is actually your greater selling point. Yes, you could concentrate on 1 niche problem that you solve over and over again for various clients. Advantage: That streamlined approach would be efficient in terms of presentation and actual work load. Disadvantage: By promoting a very specific offering, you may be introducing yourself as the wrong tool for the job ... for most potential clients. If I stumble across you and find a landing page that stresses your ability to solve Problem X while I am dealing with Problem Y, then I assume you're less relevant than you might be. That does a disservice to your diverse skill set. You can marry the best of both worlds. Here's what I'd suggest. Clients will discover you both passively and as a result of active outreach. So 1. For your active marketing efforts, identify prospects where the client really needs you for Problem X, in which you're specializing. Introduce yourself as a specialist in Problem X (which is true). 2. For your more passive, less keyword-targeted online footprint, showcase your versatility rather than your specialization. That's also true. This way, you'll seem like a better fit for a wider group of potential clients. Instead of writing you off as a specialist, they'll consider engaging you as an IT "renaissance man". Narrow the focus of your presentation when you have narrowed your demographic. Widen that focus when the demographic is wider.JP
-
Where can I find top notch Lamp Stack engineers with the business know how and VC connections?
I've always hired only ridiculously brilliant engineers and those that were either entrepreneurs or entrepreneurially minded (i.e. attended startup weekend, contributed to open source, blogged, etc). The best way to find them is to go to the events they attend. Typically it's developer meetups, open source or programming language oriented conferences, etc. To add a heightened filter, maybe only entrepreneurial oriented events like Business as Software, StartupSchool, or StartupDrinks. Also, using Angel.co to find companies that were once listed, but didn't raise or seem to have "Sunsetted" might be a good strategy. The question I always ask myself when I'm about to do sourcing for talent, or marketing is: 1) Who do I want, or what are examples of those people in the real world? 2) What places do they go/hangout, tools do they use, news sources they read, etc? Be strict with your filters and you should find some candidates... the hard part is convincing them that your project is more interesting then their current job/project/ideas/company/etc - cause these people typically have many options for work.DM
-
Is it ok to use Javascript / Angular for a mobile app that uses a wearable? Is it fast enough?
If your goal is a proof of concept, use what you know and don't stress about performance yet. Other options for using a web stack to build native apps include Steroids (native transitions with web views) and React Native. From what you're describing, it doesn't seem like you'll hit any major challenges in the alpha stages. Once the project grows legs, it would probably be worth consulting with an expert to dig deeper into the architecture and requirements to make a more informed judgment. Good luck!JL
-
What are some good resources / communities for Engineering Managers?
Wow...what a big question...here's a few answers... The most important thing to know is that 90% of engineering management is culture management. If you build the right culture, then the engineers will manage themselves. So, do some web searches on engineering team culture and read those types of blog posts. Also, read this: http://algeri-wong.com/yishan/engineering-management.html. Additionally, you can read my blog, I've written quite a bit about engineering management (but I don't write as much as I used to): http://scottporad.com. I follow Hacker News regularly. Personally, I spend my time on the "new" page instead of the "most popular". I developed a deep understanding of Agile and Lean Startup methodologies. The key wasto understand them philosophically and strategically, as opposed to simply understanding them tactically. Once I understood them at their essential levels, the principles could be applied to all types of organizations. Another thing I've done is to identify other organizations that served as "role models" for my team. Then, I would follow their blogs, find the slides from when they speak at conferences, etc. I would look for companies with similar technology, that appeared to be leaders in their space. Of course, find yourself mentors with whom you can discuss your issues. Obviously, you can find those people here on Clarity. Finally, in Seattle, where I live, we have a Seattle CTO mailing list consisting of senior engineering managers from across a broad set of companies. Find the version in your city, and if doesn't exist, start one.SP
the startups.com platform
Copyright © 2025 Startups.com. All rights reserved.