Generate BDD tests from interactive prototypes
If you can prototype it, you can generate BDD tests from the interaction model. You have all the data already, it's just a question of applying the model to a test framework, and PickleJar does just that. PickleJar's built-in test framework takes your prototype data and generates automated tests so that the job of updating and managing automated tests is made much simpler and easier.
QA engineers: Manage automated tests with this simple tool and keep up with your development team.
Developers: Working on your personal project or building your next awesome app? With PickleJar you can document, generate and manage BDD tests for your project/app in a time/cost effective way.
IAs/BAs: This is your town, PickleJar will only make you look good - or even better if you are already "that good":-)
Works great for agile development teams too: Over the last few years, the agile community has made great headway in identifying effective ways to improve how software gets made.
Primary and most popular among these tools and processes is the test driven approach to software development. In 2003, Dan North and a small team of folks got together in efforts to improve this further, and BDD was born. The idea behind BDD was to...
"...combine automated acceptance tests, functional requirements and software documentation into one format that would be understandable by non-technical people as well as testing tools." Aslak Hellesøy(2014)
Theoretically, this is a heck of a superb approach to developing software when done right, practically, it is rarely ever executed as intended.
For the most part, elements of the process are used but the essence of the process is lost. Essentially, BDD tends to be viewed primarily as a test automation tool whereas used correctly, BDD should be a collaboration tool with automation tests being a by-product of that collaboration.
Enter PickleJar Studio?
PickleJar is a specification studio that seeks to automate the process of specifying software whilst encouraging collaboration in software teams.
It provides a single source of truth for software requirements enabling different roles contribute to the same source of information that forms the specification, acceptance tests and living documentation of the project.
PickleJar is created based on the following principles:
- Encourage collaboration across roles in software teams.
- Shared understanding of feature to be developed.
- Automate application requirements before a single line of code is written.
- Make test automation more manageable.
How it Works
PickleJar Studio is a three-in-one application suite:
Wireframing tool: The wireframing tool provides the capability to:
- Create pages.
- Create page modules.
- Define single-use and reusable components.
- Define component states.
Define gherkin features, map interactions to defined scenario steps and publish specification documents and scenario prototype interactions. Once your feature has been developed, map DOM selectors to wireframe widgets.
***Caveat: Complex and dynamic scenarios
The specification app will automate any scenario that can have an interactive prototype defined, and as we know, not all scenarios lend themselves to interactive prototyping. The idea is not to replace the automation engineer but help stay ahead of development or at the very least keep up, which is usually a struggle.
You can run tests within the suite against features defined in the specification app or export *.feature files and feature step definition files to a selected directory.
How will it help?
How will it help? Process Efficiency Currently, software teams even in the best case scenario, specify requirements, wireframe/prototype and write test automation scripts as separate activities. PickleJar makes it possible to bind interactive prototypes to executable specifications, which in turn auto-generates automation tests and end user-documentation. This way bypasses unnecessary steps resulting in improved workflow, fewer errors and fewer delays.
Scalability and maintenance
One of the major issues in agile software development today is that we have adopted an iterative approach to software development, which inherently means that as features are added, we must continuously improve the code via refactoring and rewrites in order to build robust, scalable and maintainable systems.
Taking a BDD approach means that theoretically, this is a no-brainer, but in practice, tests coverage is a real issue, cut to continuous improvements while in production and the "tiptoeing around the code" dance is in full swing.
With PickleJar, once the feature has been specified and prototyped, tests and documentation are available. Better test coverage means peace-of-mind for developing features that require some rewrite/refactor of the code to be implemented correctly.
A byproduct of streamlining processes, removing redundancy and eliminating errors means less time spent chasing our tails and putting out fires and more time spent getting things done.
Time and cost savings
Always a byproduct of streamlined processes.
Who is it for?
Agile Software teams: PickleJar is great for specification workshops.
Developers/QA engineers: Automate applications before a single line of code is written. Catch up on feature definitions and test automations for more mature projects that are perhaps lacking quickly and efficiently.
Developers: A cost effective way to manage specifications, automation and documentation for that next awesome app or project.
IAs/BAs (Once more with feeling): this is your town, PickleJar will only make you look good - or even better if you are already "that good" :-)
The benefits of open source technologies and the innovation it affords the community is undeniable. PickleJar is built on top of many of these open source technologies and would likely not exist if these technologies did not.
As such, it is only fair then to give back to the community that facilitates its existence and there are plans to release a community edition eventually, which will be an open source version of the Studio.
The idea is to enable the community continue to innovate the software as the evolving nature of the landscape dictates. The commercial edition would continue to be built on top of this facilitating at least in theory a two-pronged strategy to the continuous improvement and innovation of the software.
That's the vision. However, at this time, the current focus is to release a fully-featured commercial Studio.
At initial release, PickleJar Studio will be offered on a perpetual license and will be available in two editions, Lite and PRO.
- Prototyping (Mobile/Web)
- Test Runner (Mobile/Web)
- Group features by Sprint
- Export Tests
- Export Documentation
PRO Edition - Everything in Lite Edition plus
- Scenario Flow Diagrams
- Extended Sprint management
- Revision History
- Custom documentation
- Realtime collaboration
OS Support: PickleJar will be available for Windows and Mac OS X users.
What is your money going toward?
Putting together a working prototype on a shoestring budget is one thing, building the entire studio plus all the peripheries that go into software production in a reasonable amount of time requires a small team of experts. The funds raised will go towards assembling an experienced team to produce a quality product.
By Supporting the campaign, you will help with:
Development Time - Develop the prototype into a state-of-art software and add outstanding features required to complete PickleJar.
Design Time - User experience for a piece of software like this cannot be underestimated, the vision is to make the PickleJar UI the best it can be.
When Will it Be Completed?
The tentative plan is to release a full beta around the turn of the year and have an official launch April/May of 2019.
Who is behind the curtain?
Your feedback and comments are most welcome!
Risks and challenges
There is no doubt that this is an ambitious undertaking, however, the good news is that currently PickleJar is a working prototype with proven end-to-end functionality.
This working prototype has been developed as a vertical evolutionary prototype, such that complex requirements and the trickier logistics of the application have been identified and handled. As such, the main infrastructure for the MVP is in place. The requirement now is to implement outstanding features, add missing functionality and do something about that UI Design.
Granted, even with all that in place, delivering this piece of software will not be without its challenges, however achieving this and in the estimated timeframe is well within reach, and with your support, PickleJar can deliver an exceptional piece of software.Learn about accountability on Kickstarter
- (30 days)