Treselle systems services
Treselle systems services
Treselle systems services

Quality Assurance

Capabilities

Full cycle testing includes all aspects of functional, non-functional, unit, integration, performance and regression testing both manual and using open source automation tools and technologies such as Selenium, SOAPUI, Gatling, Supertest, Nightwatch, Cucumber, and custom programming as needed. Different testing strategies need to be applied for monolithic and microservice based architecture.

 

Testing for Layered or Monolithic architecture: V-model verification and validation process is involved that covers different testing mechanism at different stages as follows:

  1. Unit test plan to perform unit testing during detailed low level design phase
  2. Integration test plan to perform integration testing during high level design phase
  3. System test plan to perform system testing during functional specification phase
  4. Acceptance test plan to perform acceptance testing during requirement analysis phase
 

Testing for Microservice architecture:Pyramid model is more effective when testing microservices due to their decentralized nature that provides loose coupling and high cohesion. This model involves testing at different stages as follows:

  1. Unit testing is performed on different functions of a single service
  2. Contract testing is performed on each microservice independently treating it as a black box
  3. Integration testing is performed on multiple services that have to interact with each other to fulfil a functionality
  4. End to End service testing is performed on multiple services that includes all external interactions such as database and third party APIs
  5. UI/Functional testing is done on the whole system as an end user

Products and applications are being built using polyglot persistence that involves multiple SQL & NoSQL databases to solve a use case. Testing on such diversed persistence storage systems involve good knowledge of SQL to perform complex queries on RDBMS and database proprietary query languages for NoSQL. The following tools and query languages across different databases need to be mastered to perform high quality testing:

 

MySQL/Oracle/Postgres: Testing using complex SQL queries, validating stored procedures, triggeres, functions, and views, checking constraints and referential integrity, and verify database schema with the reference model for data types, data length, character set, etc..

 

NoSQL: MongoDB query language to verify JSON documents and collections, CQL for Cassandra, Cypher QL for Neo4j, OrientDB SQL to verify nodes and relationships in OrientDB, Lucene queries to verify documents in ElasticSearch, and others

 

Tools:Tools such as Compass, Metabase, Talend, Zeppelin, Jupyter, and programming languages like Python and Java are extremely useful while dealing with hybrid database systems

Big Data Testing is the most complex testing process due to huge volume of data flowing thru the system that are processed by multiple tools and technologies from ingestion to analytics. It’s very important to understand the source of the data, multiple transformation and filtering process it goes thru, identifying data lineage graph, different calculations and aggregations performed on the data, and have data sense towards outliers.

 

Tools and technologies such as Talend, Zeppelin, Jupyter, and decent query abilities on Hive and SparkSQL are necessary to perform testing on Big Data that should cover entire data pipeline as below:

 
  1. Big Data Infrastructure Testing
  2. Big Data Governance Testing
  3. Big Data Ingestion Testing
  4. Big Data Profile Testing
  5. Big Data Extract, Load & Transform (ELT) Testing

Continuous development, integration, and deployment with containers on cloud using Agile iterative principles is the proven combination for faster time to market. Testing different moving parts at a fast rate in less than 2-week sprint cycle needs different testing strategies on top of regular full cycle testing such as below:

 
  1. Test the infrastructure & network topology and validate against server operational documents
  2. Automate scripts using AWS CLI & SDK to check various attributes and operations such as network in/out, S3 Object TTL, EBS snapshots, AMI frequency, and auto scaling
  3. Test user authentication & authorization by accessing AWS services based on IAM users
  4. Download and test Docker container images on multiple OS across multiple deployment environments
  5. Run Docker console and verify multiple container links and interaction are working as expected
  6. Run builds using Jenkins and validate CI & CD are working as expected
  7. Test blue-green deployments for continuous deployment with near zero downtime
  8. Test feature flags to make sure same applications behave different for different user groups

RESULTS

LATEST THINKING

  • Cross-browser Testing using Sauce Labs
    18
    May, 2017

    A web application can be opened in different devices, browsers, operating systems, and so on by an end user. Cross-browser testing or browser compatibility testing is needed to ensure that the application works as expected in all browsers. This includes testing in both client and server sides. read more

  • Cross-browser Testing using Sauce Labs
    18
    May, 2017

    A web application can be opened in different devices, browsers, operating systems, and so on by an end user. Cross-browser testing or browser compatibility testing is needed to ensure that the application works as expected in all browsers. This includes testing in both client and server sides. read more

  • The Five Layers of Microservice Testing
    22
    Feb, 2017

    Microservice architectures enforce clearer, more pronounced internal boundaries between the components of an entire system than monolithic applications typically do. This can be used to the advantage of testing strategies applied to microservices; more options for places and methods to test are available. Because the entirety of the application is composed of services with clear boundaries, it becomes much more evident which layers can be tested in isolation. read more

  • Cross-browser Testing using Sauce Labs
    18
    May, 2017

    A web application can be opened in different devices, browsers, operating systems, and so on by an end user. Cross-browser testing or browser compatibility testing is needed to ensure that the application works as expected in all browsers. This includes testing in both client and server sides. read more

  • The Five Layers of Microservice Testing
    22
    Feb, 2017

    Microservice architectures enforce clearer, more pronounced internal boundaries between the components of an entire system than monolithic applications typically do. This can be used to the advantage of testing strategies applied to microservices; more options for places and methods to test are available. Because the entirety of the application is composed of services with clear boundaries, it becomes much more evident which layers can be tested in isolation. read more

  • API Load Testing Using Gatling 2
    09
    Jun, 2015

    Introduction Most of the Client-Server web applications use REST API that can be accessed using the URI. Gatling is one of the open source performance testing tool used to test the REST API's performance. Gatling generates HTML reports […] read more

  • Cross-browser Testing using Sauce Labs
    18
    May, 2017

    A web application can be opened in different devices, browsers, operating systems, and so on by an end user. Cross-browser testing or browser compatibility testing is needed to ensure that the application works as expected in all browsers. This includes testing in both client and server sides. read more

  • The Five Layers of Microservice Testing
    22
    Feb, 2017

    Microservice architectures enforce clearer, more pronounced internal boundaries between the components of an entire system than monolithic applications typically do. This can be used to the advantage of testing strategies applied to microservices; more options for places and methods to test are available. Because the entirety of the application is composed of services with clear boundaries, it becomes much more evident which layers can be tested in isolation. read more

  • API Load Testing Using Gatling 2
    09
    Jun, 2015

    Introduction Most of the Client-Server web applications use REST API that can be accessed using the URI. Gatling is one of the open source performance testing tool used to test the REST API's performance. Gatling generates HTML reports […] read more

  • API Functional Testing in SoapUI
    26
    May, 2015

    Introduction SoapUI, a free and open source cross-platform Functional Testing tool implemented in Java is very stable and robust providing an easy-to-use graphical interface. SoapUI’s key features include Functional Testing, Service Simulation […] read more

TALK TO US

How can we help you accomplish your goals?