Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Purpose

cQube solution architecture document:cQube | Design Document (Nov 2022)

In this document focus is on evolving Design Specs, which can be used by the development team.

...

This document is organized by topics. Various illustrations/models used in this document are present in this document: cQube | Design Specs | Models - v24Nov2022

TopicsData processing pipeline alternatives

...

  1. spec.dimension

  2. spec.dimension_track

  3. spec.event

  4. spec.event_track

  5. spec.dataset

  6. spec.dataset_track

  7. spec.transformer

  8. spec.transformer_track

  9. spec.pipeline

  10. spec.pipeline_track

  11. spec.schedule

  12. spec.schedule_track

...

Image Removed

Image Added

Image RemovedImage Added

Ingestion pipeline

...

The Developer & QC workflow activity is described in the above diagram from how the task is identified & assigned till it merges to the respective branch in the Developer workflow. Once the code is merged, QC will then test their scripts and execute the test cases and produce the test result.

DevOps

Installation Process

Following technologies will be used to implement cQube as a one step installation.

...

A workflow action will get triggered where it builds the docker image out of the dockerfile >> login to the docker hub >> pushed the latest image to the docker hub repository >> connect to the ec2 server >> pulls the latest images from the dockerhub >> deploys into the server.

Image RemovedImage Added

  • Developers raise a pull request

  • On the event of pull request github actions workflow triggers Continuous Integration where it will build and test the code.

  • Once the build is successful, Code Reviewer checks the code and merge it to the repository

  • In the event of a merge, github actions trigger continuous Deployment where it will deploy the code to the server.

  • Once the code is merged to dev the code will be merged to QA which again follows the same above process followed by demo Environment.

...

  • Java(8+), IDE, Maven dependencies in pom.xml

  • Open Eclipse

  • File > New > Maven project > Click on create a simple project > Next > Group Id: com.karate.com>Artifactid: karate>Finish

  • Click on pom.xml

  • Add dependencies within the project

  • Add Maven dependencies in pom.xml (https://mvnrepository.com/artifact/com.intuit.karate)

  • Karate core - compiling the feature files

  • Karate Apache - Interface between API to server

  • Karate JUnit4 - logs and reports generation

...

KPI Test Approach

What is KPI?

  • Key performance indicators (KPIs) in software testing are the calculated data that help measure the performance and effectiveness of testing. It gives an idea of whether the software testing is progressing in the right direction and whether it will be done on time.

  • KPIs are the key targets you should track to make the most impact on your strategic business outcomes. KPIs support your strategy and help your teams focus on what’s important. An example of a key performance indicator is "targeted new customers per

  • Metrics measure the success of everyday business activities that support your KPIs. While they impact your outcomes, they’re not the most critical measures. Some examples include "student attendance" and "teacher

What is the Difference Between Software Testing Metrics and KPIs?

Software testing metrics are the data used to track and monitor the various operations performed by the testers. Whereas organizations and testers use key performance indicators (KPIs) to determine testing effectiveness and the time and cost required to complete the testing.

Prerequisites needed for KPI Testing

...

When is the Software Testing KPIs not useful?

Although measuring the effectiveness of a process is essential to know if you are doing it right, measuring the testing process via quality KPIs will not make sense in a scenario where:

  1. If your product has just started with Testing: If you are going to launch your product for the first time and testing has just started, there won’t be much to measure. This time will be crucial to put a testing process in place rather than measuring the effectiveness of the testing process.

  2. If you are not planning to have a long testing cycle: If you are making a product that would not be changing for a long time after the launch and testing will be a one-time process, measurement of the effectiveness of the process would not be beneficial as you won’t have any new testing cycles to improve upon.

  3. If you are on a restricted budget: Just like doing any activity, measuring testing KPIs also takes time and effort and, consequently, costs. So rather than measuring the KPIs, applying a cost-effective testing process should be the primary focus when the budget for testing is restricted.

KPI Testing Approach

...

How to perform Metrics Test:

...

  • We are going to test each API with the users of 100, 500, 1000, 3000, 5000, 10000, 20000, 30000, 40000 and 50000

  • With a ramp-up period of 1 sec, the average time should not be > 3000 milliseconds(3 sec)

  • Final Report will be stored in csv file

  • jmeter load testing test cases

https://docs.google.com/spreadsheets/d/1od4uaW-65DTWSgbjrS1sW5Ll3i3EczVU4GKLAwW7C6g/edit?usp=sharing

JMeter scripts:

  • Start JMeter. Open the JMeter window in the terminal by clicking on cd Downloads/apache-jmeter-5.5/bin/jmeter.sh

  • Rename the Test Plan. Change the name of the test plan node to Sample Test in the Name text box

  • Add Thread Group.

  • Add HTTP request→provide the API url , path, port number, and body

  • Add Listener - result tree , graph, view table report

  • Run the Test Plan.

  • View results in,summary report, and View result tree listeners

  • Add assertions-->Response code assertion

  • View the Output in CSV

...

In this case dataset is an input doing aggregation with filters and storing it into dataset table

NOTE: all 5 transformers will be written for Two different UPSERT operations like explained below.So we will be having 10 Transformers.

Upsert By Replace Operation:

...