cross module testing
I tried to find some information about cross module testing or cross-functional testing. But it seem that I cannot find any information about this testing from google or yahoo answer. Can someone explained about this testing?
1. What is Cross module testing? Is it similar to cross-functional testing?
2. What are differences between cross module testing and integration testing?
3. How to adopt cross module testing in agile development?
4. Any example of organization or company practices cross module testing.
Or you can suggest any materials related to this topic.
Thanks in advanced.
1. Cross Module testing is integration testing. Unlike Unit testing, you are using fully instantiated instances of modules that talk to each other instead of one module surrounded by mocks and stubs like you would unit testing.
As for cross-functional, each shop has their own definition. For most shops, functional testing refers to end-to-end testing or testing functionality. Cross functional in this case.. who knows... Does it mean coordinating testing between different functional QA teams? it means a different thing in different shops.
2. No difference.
3. Hard to really give a good answer without being smug. It's basically, "Just do it" Since integration tests are a lot harder to maintain and write than normal unit test. My recommendation is Try to maintain about 40% code coverage in integration test and 80% requirement coverage (at least have 2 for every acceptance criteria - a positive and a negative case). Where in unit tests, you'll want to keep it closer to 95% code coverage and can't really calculate requirement coverage.
4. I usually turn to Etsy and Salesforce for examples of good practices. Etsy do over a dozen deploys each week, and the process to ensure high quality an continuity in the business, and the process to pull that off is pretty damn good. Salesforce has a good culture of developing their own test infrastructure and practicing sound test driven development.
I have a similar perspective to David:
1. Cross-module is integration testing. Cross-functional for me (SAP ERP systems) is also integration testing, given that a module tends to represent a function. So, for example, an integration scenario would run from Sales Order -> Outbound Delivery -> Pick, pack, dispatch -> Billing -> A/R, this would cross several modules and involve people from Sales, Logistics, and Finance following the document flow from start to finish.
2. No difference
3. No comment, as we rarely follow Agile
4. Any organisation implementing an ERP system will include an integration test phase. Due to the specialities of the testers this usually means the testing must be coordinated and planned well; build test scenarios / user stories in advance, plan the test execution with plenty of contingency, and make sure all testers review and understand the execution plan and the details of each scenario.
Cross Module testing is integration testing. You are utilizing completely instantiated cases of modules that discuss to each other rather than one module encompassed by mocks and stubs like you would unit testing.