Big News: FounderDating is joining OneVest to build the largest community for entrepreneurs. Details here
Latest Notifications
You have no recent recommendations.
Name
Title
 
MiniBio
FOLLOW
Title
 Followers
FOLLOW TOPIC

Question goes here

1,300 Followers

  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur
  • Name
    Entrepreneur

QA testing with a small team best practices

In a small team where there are only one or two engineers and designers and product / features are shipped 3 or 4 times a week, what are the best ways to do QA testing? As the designer I'm currently doing most of the testing.Most of the flows are either complicated, or have such tight turn around times its hard to plan for outsourcing.Is it normal for the designer to do all the QA? Should engineers test their own features? What processes of QA testing have you found most effectively allow the team to continue to efficiently iterate, ship and build new things?

15 Replies

Michael Flynn
3
0
Michael Flynn Entrepreneur
Co Founder at Bootstrap Heroes
What framework are you using? And do you have any automated browser tests (e.g. selenium) Those would be a good way to try and prevent some major regression errors. Pushing that many times a week requires a significant amount of development operations overhead (or someone who is always on edge worrying and looking) to make sure bugs aren't being pushed. Sounds stressful. I've been there.
Chipit Promotions
0
1
Chipit Promotions Entrepreneur
Software Architect
Should engineers test their own features? Of course! Everyone should test what they build. But of course they can't test all cases, because they're focused on engineering. You cant test all cases, because you're focused on designing. You need to pay someone $12/hr to come in and do QA fo ryou. Give them a machine with a lot of virtual machines so you can test IE8 IE9 and IE10, and older versions of browsers that you need. Firefox also has problems running multiple versions on the same machine.
Michael Flynn
0
0
Michael Flynn Entrepreneur
Co Founder at Bootstrap Heroes
I agree with Jake you need someone to help just with testing. email me [removed to protect privacy] and I can hook you up with my testing guy if you'd like. He's good and pretty cheap.
Jonathan Barronville
2
0
Jonathan Barronville Entrepreneur
Software Engineer at npm, Inc.
The engineers should, at the least, be writing unit tests. What kind of testing are you doing as the designer? Also, the type of QA infrastructure you need truly depends on the product being tested. Is this a web application, desktop application, mobile application (et cetera)?
Jean Barmash
3
0
Jean Barmash Entrepreneur
Engineering Program Manager at Tradeshift
It is important to consider which phase you are in. It sounds like it's fairly early, and a lot of things are frequently changing, so if so, you want to optimize for agility vs stability. While you should not be in QA role long-term, if it allows you as a team to deliver things faster, I'd suggest you continue doing it.

If things are changing frequently, then investing in automated testing is not as valuable, since when the flow will change next week, there is twice as much code to change (the product code and test code).

Also, having a non-engineer do the testing allows for different perspectives to be applied to using the product. If the engineer who built a feature misunderstood it in some way, they will carry that misunderstanding to their testing.

Depending on your load, another thought is to spread the load a bit, so you are not the only person doing QA - allocate a few hours prior to release for all of you to do QA of different flows.

Engineers are likely testing the features as they develop them, but it would slow them down a lot to do full regression testing often.

When you are later on (esp. post-product-market fit), you will want to have a more sophisticated testing infrastructure, since the focus will be more on stability. At that point it will make more sense to invest in automated testing.

One thing you could try to do is to identify things that are not changing as much anymore, and outsource at least those flows, to make sure you don't have regressions there.
Stefanie Kraus
0
0
Stefanie Kraus Advisor
Senior Product Designer at HotelTonight
What I have found very efficient in small cross-functional teams is to block off some time (this could be several hours, a full day or more) where everyone does QA and files bugs. Ideally, there are flows and use cases that are prepared ahead of time, and everyone in the team uses the same task flows.

A great side effect of this method is that people feel ownership over the product and think of this as a team effort.
James Bond
1
0
James Bond Entrepreneur
CTO at SupplyBetter
Absolutely, engineers should test. But not primarily or exclusively by hand -- they should be creating automated tests (preferably developing using a specification-driven methodology, i.e. TDD/BDD). Don't aim for 100% coverage, but expect solid coverage of the more critical code paths (in RoR framework, I like to focus testing on models, which is where most of the business logic lives, and requests, to exercise end-to-end; and mostly skip testing controllers and views).

You can also consider testing tools that allow non-programmers to write executable test specs (e.g. Cucumber, FITnesse); but only if that's really going to happen, i.e, a product owner writing the actual tests (I would recommend *against* programmers writing these, it just adds an extra translation step, without providing any value).
Joseph Moniz
0
0
Joseph Moniz Entrepreneur
Software Engineer
Hi Abby,

At the last company i worked for i was part of a really small team. It was just me (an engineer) 2 other engineers and our Product Manager. We didn't have any Q/A resources or any designers either. Yet, we had a really fast build and ship loop and were practicing the somewhat controversial practice known and Continuous Delivery, which means we shipped to production multiple times a day.

We were able to ship to production about 3-4 times a day with high confidence that we weren't going to break anything because we had a really good peer code review process (via git pull requests) and we had a high level of code coverage via unit tests.

We used a system called Zombie.js (which my manager at the time built), which pretends to be a browser and actually runs through all the different user flows automatically and lets us know if anything was broken. By taking the time to write these fairly simple tests and adding them to our test suite we were able to add features to the site while doing a full browser regression on all the different flows we had in a matter of seconds instead of hours or days (the time it would have taken us by hand).

Based off of my past experience, having a good iterative flow boils down to "People, Process and Tools".

You need the motivated people that are self starters and care enough about quality to go out of their way toachieveit. You need a process that enables team members to surface issues as early on in the pipeline as possible and get things that work through as fast as possible and you need tools to automate as much of this stuff for you as possible so you can spend your time on more profitable things.

- Joseph Moniz


"Wake up early, Stay up late, Change the world"
Brent Goldstein
0
0
Brent Goldstein Entrepreneur • Advisor
Bold, Multi-Disciplined Software Engineering Leader - I’ll transform your organization and deliver the products you need
Hi Abby, In my experience (I'm a software engineer by trade and have run software teams for years), testing is also a software engineering activity. Developers should be responsible for making sure their software works, but there's a limit to the manual testing that can be done, whether by developers or 'testers'. The most scalable approach is to automate, and automation takes people that think like a software engineer. You can still have separate people that focus on building the tests (QA automation engineer), but they work closely with developers/designers to understand how the software is intended to work and build the test cases with some automation framework. With a small team it may initially seem like a divergence to build the automation, but it pays off big. Once the UI flows and system behaviors start to grow, it becomes impractical to manually test and you quickly get to the point where you can't keep up. Actually, outsourcing the automation framework, rather than the core features, could be an effective use of resources. The ideal goal is continuous integration/test, so that when you check in code, the tests just run. A big topic, but it sets the path. Glad to talk more offline. Rgs, Brent
Abby Beck
1
0
Abby Beck Entrepreneur • Advisor
Designer
These are great responses. I guess to follow up and clarify - I was asking more about testing different use cases and user flows, not actually unit testing. I totally agree that depending on what stage you're in and how quickly you are iterating unit test's will help, but might not be as efficient.
Join FounderDating to participate in the discussion
Nothing gets posted to LinkedIn and your information will not be shared.

Just a few more details please.

DO: Start a discussion, share a resource, or ask a question related to entrepreneurship.
DON'T: Post about prohibited topics such as recruiting, cofounder wanted, check out my product
or feedback on the FD site (you can send this to us directly info@founderdating.com).
See the Community Code of Conduct for more details.

Title

Give your question or discussion topic a great title, make it catchy and succinct.

Details

Make sure what you're about to say is specific and relevant - you'll get better responses.

Topics

Tag your discussion so you get more relevant responses.

Question goes here

1,300 Followers

  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
  • Name
    Details
Know someone who should answer this question? Enter their email below
Stay current and follow these discussion topics?