In Waterfall we build specifications, in XP, Scrum and Agile we develop user stories. Either way there is always a process of defining what could be called requirements for an application and its functionality. What we would like to suggest is to not only define requirements for the development of this application, but to develop requirements for testing and store its artifacts as a part of the whole ALM methodology.
As the requirements are developed, the requirements team, which should include some of the QA team, would be responsible for developing data sets which will be used to validate and test the eventual end product. This further enhances the development effort in that now development not only has a requirement of application A must perform task B, but they have actual data to use as a part of their unit and integration testing.
As the application reaches levels of maturity, the QA team can build testing units, even harnessing off of the unit tests delivered by development. All of the artifacts are stored in the code repository. These artifacts would include requirements, test requirements, test data, unit tests, and code.
As the application is moved through the life-cycle of development (ALM/SDLC/TDLC/BPT, etc...) the compiler process would also combine the appropriate units of the user stories, test cases, and requirements to make a more complete document, showing the interrelation of units. the compiler process would also process the units of test data into consolidated forms for use by the test harness. this process would also concatenate, in the right order, units of test with relationships to the test data, to deliver unified test/development efforts.
The end result of this dream is that as a continuous integration, or automated build engine, would drive the process of documentation, development, requirements, data consolidation, resource planning, and test harness production into a singular effort. this may be a singular effort but it would include lots of moving parts.
To this I would propose a new development paradigm, one which takes the best from waterfall, Agile, XP, and whatever else is in the flavor of the month brigade. we would take these "best practices" and develop a unifying process that ties the origination of the application to the final testing.
Jenkins, cruise control, Ant, etc.. do not do this alone, but they are part of the DevOps/TestOps infrastructure that would perform such duties. Add in requirements management tools, Scrum boards, Kanban boards, test management tools, defect-tracking systems, test automation and you start to build the whole picture.
It will take innovation, and a bit of trial and error with early adopters to unify the process. all the moving pieces are out there, we just need to tie them together in a smooth and invisible way... This we call TestOps...
Our mission to helping our customers - large corporations, small businesses, professional services firms, government agencies and individual developers – with the means to effectively and affordably manage their software development and testing lifecycles, so as to decrease the time to market and increase return on investment.
At Inflectra, we are fully committed to provide our customers with the very best products and customer service. We believe in going the extra mile to ensure that each customer is satisfied with our software products. We have the experience and the commitment to deliver the products customers need to deliver their projects and assure quality every step of the way. (Learn More)
We are so confident that you will be fully satisfied with our products that we offer a 30-day, unconditional, money back guarantee! (Learn More)