Software Testing and Quality Assurance for Data Intensive applications
The objectives of this tutorial are:
- Building awareness about the current advancements in data intensive application and software testing strategies.
- Highlighting the tools, techniques, and applications from the perspective of future intensive applications.
- Providing a platform to participants for one-to-one interaction.
The tutorial is intended to draw attention of the young minds and data professionals towards software testing and quality assurance strategies for data intensive applications with the help of existing tools and techniques.
Data intensive applications are one of the most critical aspects in real-time applications which is desired in most of the new-normal practices such as recommendation systems, social media analytics systems, fake news detection systems, etc. However, to deploy such solutions for real-time usage, software testing and quality assurance plays a vital role to understand the application behavior.
With the advancements in technology various real-time applications are developed with big data analytics solutions. The efficient function of such data intensive solutions is very critical and hence it is necessary to perform desired software testing and get quality assurance before it is put into use. Following this motivation, this tutorial aims to unfold the various testing and quality assurance strategies along with the awareness about existing tools and techniques that can be utilized for various use cases.
Table of Contents
- Software Testing
- Software testing basics, dimensions, scope
- Level of Testing (Component, Integration, System)
- Software Testing Processes: Planning, Test-Case Design (Criteria-based, Human Knowledge-Based), Test Automation, Test Execution, Static Analysis, Test Evaluation (Oracle)
- Software testing types (Security, Performance, Conformance, Usability etc.) – Software testing artifacts (SQL Query, System Code, User Form etc.)
- Software Quality Assurance and Quality Control
- Definitions, quality of design and conformance, verifications, validations
- Audits, reviews, inspection and benchmarking
- Data Intensive Applications
- Characteristics: Reliability, maintainability, scalability, availability, concurrency, etc.
- Challenges: Management, integration, evolution, geographically distributed, context-aware, real time, etc.
- Tools for Data Intensive applications
- Hadoop, Spark, Flink, NoSQL, Hive, Zookeeper, Elastic Search, Flume, Kafka
- Testing Data Intensive applications
- Use cases of data intensive applications especially categorized into:
- Huge storage capacities to accommodate “data-at-rest” for store once and use it forever
- Capabilities to speed up the reads operations by using caches
- Allowing powerful search and filters
- Handling data in motion under stream processing
- Periodically exercising a large amount of accumulated data under batch processing
Dr. Sonali Agarwal is working as an Associate Professor in the Information Technology Department of Indian Institute of Information Technology (IIIT), Allahabad, India. She received her Ph. D. Degree at IIIT Allahabad and joined as faculty at IIIT Allahabad, where she has been teaching since October 2009. She holds Bachelor of Engineering (B.E.) degree in Electrical Engineering from Bhilai Institute of Technology, Bhilai, (C.G.) India and Masters of Engineering (M.E.) degree in Computer Science from Motilal Nehru National Institute of Technology (MNNIT), Allahabad, India Her main research interests are in the areas of Artificial Intelligence and Big Data. She is the head of Big Data Analytics Lab at IIIT Allahabad, India.
Dr. Sanjay Kumar Sonbhadra is working as Teaching Research Fellow (TRF) in the Information Technology Department of Indian Institute of Information Technology (IIIT), Allahabad, India. His research is mainly working on One Class Classification, Anomaly detection, Dimensionality reduction techniques for target specific mining. He is a senior member of Big Data Analytics Lab at IIIT Allahabad, India. Sanjay has published many articles in the area of machine learning applications to address recent challenges of COVID-19.
Mr. Narinder Singh Punn is working as Senior Research Fellow in the Information Technology Department of Indian Institute of Information Technology (IIIT), Allahabad, India. Narinder’s main research includes Medical Imaging segmentation, Deep learning and Artificial Intelligence techniques in healthcare. He is a senior member of Big Data Analytics Lab at IIIT Allahabad, India. His recent publications cover applications of deep learning in detection and prevention of COVID-19.