Skip to content

As software application, my distributed components should be tested about their good integration and functional behaviors per environment phase #256

Description

@olivierlemee

Goal: test standalone project allowing to define/maintain application functional test plans (functional behaviour over BDD approach), integration test plans (layer and components coupling) and any over test need (e.g. performance, configuration, security) with ability to be executed into several context (e.g. test environment during development; pre-deployment of production release; as smoke test in production).

TEST PROJECT PREPARATION & TEMPLATING

  • Repository of test plan projects structure
    • Maven project structure defined; build tested; test applications naming validated for repo publishing
    • Documented main project and sub-projects introduction
    • Global maven build of sub-projects tested
    • TestNG and Cucumber version defined in foundation-}
    • TestNG and Cucumber defined by test plan main project pom management
  • Test campaign created as independent projects by type of campaign able to be executed under TestNG (https://testng.org/)
    • configured cucumber and TestNG tools
    • maven-assembly plugin configured
    • pom.xml documented to create jar file for cucumber
    • Default templated test campaign managed via Cucumber (.features, .class for steps, java TestPlan as perimeter of scenarios to execute, resources based on execution Maven Profile for easy execution or built Test App (including configuration resources configured) per targeted environment including default testng.xml

TEST PLAN IMPLEMENTATION UTILITIES

  • util project as common util classes for test plans
  • one Main class executing Cucumber scenario which are tagged for an execution type (manual vs integration vs functional) and a 1rst test plan/scenario into a TestNG driven plan
  • Quality test about templated project as quality control of standalone execution (defining default profile for test plan developer in localhost)

Git Actions PREPARATION

  • Created maven profiles per test plan nature allowing to customize the execution per environment as documented
  • Maven build of each profile tested in common branch (but with one build action per environment profile) to generate an autonomous test application deliverable (for non regression) which is able to be executed alone per target environment
  • Publish validated to CYBNITY Nexus repository (Java test application easy to download, customize for runtime context and for run by developers or testers)
  • Add documented links to https://cucumber.io/docs/ for test plan developers maintaining the test application projects

EXECUTABLE TEST PLAN PACKAGING FOR CI/CD DRIVING

  • packaged executable test plan version for standalone usage from command line as Java jar TestNG runtime
  • prepared docker image allowing standalone execution by CI/CD into dev-deploy environment
  • deployment by fleet-cd into dev-deploy environment as automated staging flow allowing to maintain permanent report of test plan executions on CYBNITY dev versions developed into dev-deploy-environment

Metadata

Metadata

Assignees

Labels

line:baselineAction or item managed via the baseline production line dedicated to platform deliverypriority:highHigh priority for treatmentstatus:confirmedThe will to process the item/request of work is confirmed and acceptedtype:supportExtra attention is needed (e.g help)

Type

Projects

Status
Ready for UAT stage

Relationships

None yet

Development

No branches or pull requests

Issue actions