Testing Tools Magnitia Content

Total Page:16

File Type:pdf, Size:1020Kb

Testing Tools Magnitia Content QA / Testing Tools This course is designed assuming that the participants have no prior IT background and covers all the necessary concepts of Software Testing, Day to Day work of a Software Test Engg in the project environment. Apart from intro to Software Testing on Different technologies like Cloud, WebServices, and Mobile Testing. Introduction o Volume Testing • Software Development Process o Stress Testing • Project Vs Product o Recovery Testing • Objectives of Testing o Installation Testing • Testing Principals o Globalization Testing • SDLC o I18N o L10N SDLC Models o Security Testing • Waterfall Model o Usability Testing • Incremental Models o Accessibility Testing • V Model • Prototype Model User Acceptance Testing • Agile Model (Scrum) • Alpha Testing • Agile with DevOps • Beta Testing • How to Choose Model for a Project Testing Terminology Software Testing-Methods • Functional Testing • White Box Testing • End-End Testing • Block Box Testing • Ad-hoc Testing • Gray Box Testing • Risk Based Testing • Sanity/Smoke Testing Levels of Testing • Re-Testing • Unit Testing • Regression Testing o Structural Testing • Exploratory Testing o Statement Coverage Testing • Parallel Testing o Condition Coverage Testing • Concurrent Testing o Branch Coverage Testing o Path Coverage Testing Windows & Web Application Testing • Integration Testing • Check List for Window App Testing o Big Bang Integration • Check List for Web Application o Top Down Approach Testing o Bottom up approach • Web App Testing Terminology o Stubs and Drives Software Testing Life Cycle (STLC) System Testing Test Strategy • Functional Testing Test Planning • Non Functional Testing Test Cases Design o Compatibility Testing • Error Guessing o Performance Testing • Equivalence Partition o Load Testing • Boundary Value Analysis • Test Case Authoring • Procedures • Functional Test Case • Triggers • Review Test Case • Constraints, Rules..etc • Walkthroughs • Inspection Additional Skills • Peer Review • Introduction to Coniguration • Traceability Matrix Management Tools, Code Management Tools, Test Management Build Release Process Tools..etc and differences • SRN & DD • Project Metrics • Build Deployment • QA & QC • Project Dev Env (Dev, Test, Prod) • Interview Question • Organization Hierarchy Defect Reporting & Tracking • Role of Project Team Members • Defect Reporting • Defect Life Cycle Trending Technology Skills • Severity, Priority • Defect Tracking Tools About Cloud Technology like AWS, Google Cloud Test Closure • Setting up AWS and Creating • Criteria for Test Closure Instances • Test Summary Reports • Working on AWS • What is SAAS, PAAS…etc Test Management using Jira • Jira Introduction About Web Services • Create project in Jira • What is WebService and Technology • Jira Administration • How WebServices Works • Creating users • How to Test WebServices and Tools • Access to projects available for Automation • Permissions to projects • Test Management Plugins About Mobile Applications • Design TestCases • What are different Mobile Apps • Review TestCases and Status updates • Introduction to Mobile Apps Testing • Create TestCycles • How to Test Mobile Apps on Cloud • Running TestCases and Reporting • What are the Tools for Automation • Issue Reporting • Work Flows Selenium Test Automation • Agile process in Jira • Creating scrums Automation Testing • Dashboard • What is automation testing • When to go for Automation Database SQL • Different Automation Tools (vendor & • Introduction to Database open source tools) • Writing SQL queries to work with • Advantages of Automation Database • Criteria for Automation • DDL, DML, DTL Statements , Writing & • Difference between Manual Testing & Executing Queries Automation Testing Process Introduction to Selenium Conditional Statements • What is selenium Tool • If condition • Use of selenium tool in automation • If else condition • Features of Selenium tool • If else if condition (nested if) • Differences between Selenium and • Switch case statement other Tools • Examples for all the above conditions Selenium Components Loop Statements • Selenium IDE / Katalon IDE • While loop • Selenium WebDriver • Do while • Selenium Grid • For loop • For each loop ConNiguration of Katalon IDE & Dev. Scripts • Examples for all the above loops • Recording the scripts in IDE • Running the scripts Array • Saving the scripts and using again • How to declare array • Understanding of the objects • How to store values in array identi\ication (id, name) • Reading values in array • Difference between Test case and test suit Exception, error handling • Languages supported while recording • What are exceptions, errors • Synchronization in Katalon IDE (wait • How to handle exceptions in the commands) program • Testing Vs Katalon IDE • Using try and catch blocks • When to use Katalon IDE • Types of Exceptions • Learning commands in IDE • Using of throws • How to put validations (assert, verify) • Throw • How to read text / values from • Throwable webpage (store commands) • How to handle mouse, keyboard Object Oriented Programming events Class • Limitations of IDE What is class What are \ields and methods ConNiguring Eclipse IDE for Java & How to create object for the class Selenium How to access \ields and methods in the class • How to Create new java project Constructors • How to create a new java class What is abstract, inal class Variable Types (instance, local, static) • Running java class • Viewing the results of java program Polymorphism • What is polymorphism Learning Java • Method overloading • Introduction to Java programming • Constructor overloading • Data Types in Java • Passing arguments to methods • Primitive Data types • Calling methods in the class • Wrapper Classes • Return values from method • Declaring Variables • Return objects from method • Writing java program and running • Method arguments callbyvalue, call by reference Inheritance Using String, Date, Math classes and • Why to do Inheritance Examples • How to reuse the \ields and methods of parent class JDBC Connections • Overriding \ields and methods of • Working with Different Databases like parent class SQL Server, Oracle, MySQL..etc • Single Inheritance • Multi level Inheritance Web Driver • Using super keyword • Introduction to Web Driver • Composition / Aggregation • Conigure Eclipse IDE (Adding selenium Libraries) • Difference between Inheritance and • Using FirefoxDriver API Composition • Working with Different Elements and programming Interfaces • Edit boxes • What is Interface • Checkbox, Radio Buttons • Difference between class and • Buttons interface • Links • When to use Interfaces • Selecting values from a Dropdown • Abstract class • Understanding xpath to locate elements in webpage Encapsulation and abstraction • Working with Table Elements • What is hiding data • Reading data from Table • Using Actions class • Using access speciiers public, private, • Handing keyboard, mouse events protected, default • Accessing the public methods outside Data Driven Testing the class • What is Data Driven Testing • Difference in accessing in same • How to parameterize the data to the package / different package script using Excel • Reading, writing data into Excel Package • How to parameterize data to the script • What is package using Flat iles • How to create a package • How to import package into a different Debug Scripts in Eclipse class • Understanding Debug • Using Breakpoints Collections • Verify the values during debug • Use of collections • Using step over, step into • Advantage of collection using Array • How to add, remove, and insert value / Handling Windows elements into collections • How to handle multiple browser • Using the collections like List, Set, • Handling alerts ArrayList, HashTable • Handling windows alerts using (Auto it • Linked List / sikuli) • Handling Frames Miscellaneous • Dynamic binding Recognizing elements in webpage • Upcasing, downcasting • Using xpath, DOM, CSS • Autoboxing, unboxing • Running java scripts in WebDriver • Recognizing duplicate elements • Recognizing dynamically changing WebServices Testing elements • What is webservice • Using Regular expressions • Webservice architecture • What testing we have to do in ConNiguring other Browsers webservice • Conigure IE browser • Introduction to RestAssured • Con\igure Chrome browser • Testing WebServices using • Running scripts on different browsers RestAssured TestNG Framework Appium ( Mobile Apps Automation) • What is TestNG • Con\igure Android Device • Create TestNG.xml \ile • Running scripts on Android Device • Integrate the Selenium Scripts • and Run from TestNG Cucumber • Reporting Results & Analyze • Understand Cucumber Framework • Run Scripts from MultipleBrowsers • Writing Feature Files • TestNG Annotations • Integration of Scripts & Feature Files • Tags in TestNG xml \ile • Generating Reports • Groups • Learn Gherkin Lang. • Reporting Results Code Management Tool Selenium Grid • Understand usage of Code • Introduction management Tools • RemoteWebDriver • How to manage code in common • Coniguring hub location • Coniguring node • Understand Version Control • Running scripts on remote computer • Check in / checkout mechanism • Checking the Histories. Automation Life Cycle • What is a Framework • Types of Frameworks • Modular framework • Data Driven framework • Keyword driven framework • Hybrid framework • Use of Framework • How to develop framework • Integration of the framework • How to execute the scripts from framework Page Object Model Framework • Creating Repository class • Using properties ile • Generating Log iles (log4j) ANT / MAVEN • Creating Maven project • Creating build ile • Running the build .
Recommended publications
  • Effectiveness of Software Testing Techniques in Enterprise: a Case Study
    MYKOLAS ROMERIS UNIVERSITY BUSINESS AND MEDIA SCHOOL BRIGITA JAZUKEVIČIŪTĖ (Business Informatics) EFFECTIVENESS OF SOFTWARE TESTING TECHNIQUES IN ENTERPRISE: A CASE STUDY Master Thesis Supervisor – Assoc. Prof. Andrej Vlasenko Vilnius, 2016 CONTENTS INTRODUCTION .................................................................................................................................. 7 1. THE RELATIONSHIP BETWEEN SOFTWARE TESTING AND SOFTWARE QUALITY ASSURANCE ........................................................................................................................................ 11 1.1. Introduction to Software Quality Assurance ......................................................................... 11 1.2. The overview of Software testing fundamentals: Concepts, History, Main principles ......... 20 2. AN OVERVIEW OF SOFTWARE TESTING TECHNIQUES AND THEIR USE IN ENTERPRISES ...................................................................................................................................... 26 2.1. Testing techniques as code analysis ....................................................................................... 26 2.1.1. Static testing ...................................................................................................................... 26 2.1.2. Dynamic testing ................................................................................................................. 28 2.2. Test design based Techniques ...............................................................................................
    [Show full text]
  • Studying the Feasibility and Importance of Software Testing: an Analysis
    Dr. S.S.Riaz Ahamed / Internatinal Journal of Engineering Science and Technology Vol.1(3), 2009, 119-128 STUDYING THE FEASIBILITY AND IMPORTANCE OF SOFTWARE TESTING: AN ANALYSIS Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India. Email:[email protected], [email protected] ABSTRACT Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Software testing is the process of testing the functionality and correctness of software by running it. Software testing is usually performed for one of two reasons: defect detection, and reliability estimation. The problem of applying software testing to defect detection is that software can only suggest the presence of flaws, not their absence (unless the testing is exhaustive). The problem of applying software testing to reliability estimation is that the input distribution used for selecting test cases may be flawed. The key to software testing is trying to find the modes of failure - something that requires exhaustively testing the code on all possible inputs. Software Testing, depending on the testing method employed, can be implemented at any time in the development process. Keywords: verification and validation (V & V) 1 INTRODUCTION Testing is a set of activities that could be planned ahead and conducted systematically. The main objective of testing is to find an error by executing a program. The objective of testing is to check whether the designed software meets the customer specification. The Testing should fulfill the following criteria: ¾ Test should begin at the module level and work “outward” toward the integration of the entire computer based system.
    [Show full text]
  • Types of Software Testing
    Types of Software Testing We would be glad to have feedback from you. Drop us a line, whether it is a comment, a question, a work proposition or just a hello. You can use either the form below or the contact details on the rightt. Contact details [email protected] +91 811 386 5000 1 Software testing is the way of assessing a software product to distinguish contrasts between given information and expected result. Additionally, to evaluate the characteristic of a product. The testing process evaluates the quality of the software. You know what testing does. No need to explain further. But, are you aware of types of testing. It’s indeed a sea. But before we get to the types, let’s have a look at the standards that needs to be maintained. Standards of Testing The entire test should meet the user prerequisites. Exhaustive testing isn’t conceivable. As we require the ideal quantity of testing in view of the risk evaluation of the application. The entire test to be directed ought to be arranged before executing it. It follows 80/20 rule which expresses that 80% of defects originates from 20% of program parts. Start testing with little parts and extend it to broad components. Software testers know about the different sorts of Software Testing. In this article, we have incorporated majorly all types of software testing which testers, developers, and QA reams more often use in their everyday testing life. Let’s understand them!!! Black box Testing The black box testing is a category of strategy that disregards the interior component of the framework and spotlights on the output created against any input and performance of the system.
    [Show full text]
  • Web Gui Testing Checklist
    Web Gui Testing Checklist Wes recrystallizing her quinone congruously, phytophagous and sulphonic. How imponderable is Schroeder when barbate whileand soft-footed Brewer gliff Zachery some incisure yakety-yak affluently. some chatoyancy? Fulgurating and battiest Nealson blossoms her amontillados refine Wbox aims to the field to be able to the automated support data, testing web gui checklist Planned testing techniques, including scripted testing, exploratory testing, and user experience testing. This gui content will the css or dynamic values? Test all input fields for special characters. For instance, create test data assist the maximum and minimum values in those data field. Assisted by timing testing is not tested to the order to achieve true black art relying on gui testing web checklist will best. The web hosting environments you start all web testing gui checklist can provide tests has had made. The gui testing procedures are the weak factors causing delays in agile here offering, gui testing web? At anytime without giving us a testing web gui checklist can also has on. How gui testing checklist for a gui testing web checklist to induce further eliminating redundant if there is transmitted without the below to use of jobs with. Monkey testing tool that an application or even perform testing web gui changes some test android scripts behind successful only allows an. Discusses the preceding css or if a sql injections through an application penetration testing on gui testing web? How much regression testing is enough? Fully automated attack simulations and highly automated fuzzing tests are appropriate here, and testers might also use domain testing to pursue intuitions.
    [Show full text]
  • Testing Guide 4Deets
    TESTING GUIDE Automated Testing for SuccessFactors Introduction This guide will give you an overview of the different aspects of testing your SuccessFactors environment. As most employees interact in some way or form with the system, it’s crucial to test your system regularly and around crucial events to make sure you provide an excellent employee experience. The following topics will be explored: • Testing During An Implementation • Testing For Configuration Changes • Testing For Quarterly Releases • Manual vs. Automated Testing © 2019 Page | 2 Automated Testing For SuccessFactors Testing During An Implementation During an implementation, testing is critical to make sure the system is designed and configured according to expectations. One of the most known test is User Acceptance Testing (UAT) in which a client signs off that the system works as expected. Before UAT, there are many different tests you would like to perform. These tests are done during different phases of a project. Some only once, others multiple times. Let’s start with looking at what phases there are during a SuccessFactors implementation. This may differ slightly, but all SuccessFactors implementations basically follow the same path. The reason for this is that the Agile methodology, which is the preferred method defined by SAP, needs to be followed by SAP professional services and all the certified implementation partners. This methodology has been proven to be most successful. The Agile methodology is an iterative approach. Iterative approach is a way of breaking down the system development of a large application into smaller chunks. In iterative development, functionality is designed, configured and tested in repeated cycles.
    [Show full text]
  • Effective Testing for Concurrency Bugs
    Effective Testing for Concurrency Bugs Thesis for obtaining the title of Doctor of Engineering Science of the Faculties of Natural Science and Technology I of Saarland University From Pedro Fonseca Saarbr¨ucken, 13. April 2015 Date of Colloquium: 24/06/2015 Dean of Faculty: Univ.-Prof. Dr. Markus Bl¨aser Chair of the Committee: Prof. Dr. Andreas Zeller First Reviewer: Prof. Dr. Rodrigo Rodrigues Second Reviewer: Prof. Dr. Peter Druschel Third Reviewer: Prof. Dr. George Candea Forth Reviewer: Dr. Bj¨orn Brandenburg Academic Assistant: Dr. Przemyslaw Grabowicz ii c 2015 Pedro Fonseca ALL RIGHTS RESERVED iii Dedicated to my parents and brother v This work was supported by the Foundation for Science and Technology of Portugal (SFRH/BD/45309/2008) and the Max Planck Society vi Abstract In the current multi-core era, concurrency bugs are a serious threat to software reliability. As hardware becomes more parallel, concurrent programming will become increasingly pervasive. However, correct concurrent programming is known to be extremely chal- lenging for developers and can easily lead to the introduction of concurrency bugs. This dissertation addresses this challenge by proposing novel techniques to help developers expose and detect concurrency bugs. We conducted a bug study to better understand the external and internal effects of real-world concurrency bugs. Our study revealed that a significant fraction of concur- rency bugs qualify as semantic or latent bugs, which are two particularly challenging classes of concurrency bugs. Based on the insights from the study, we propose a con- currency bug detector, PIKE that analyzes the behavior of program executions to infer whether concurrency bugs have been triggered during a concurrent execution.
    [Show full text]
  • Software Testing Training Module
    MAST MARKET ALIGNED SKILLS TRAINING SOFTWARE TESTING TRAINING MODULE In partnership with Supported by: INDIA: 1003-1005,DLF City Court, MG Road, Gurgaon 122002 Tel (91) 124 4551850 Fax (91) 124 4551888 NEW YORK: 216 E.45th Street, 7th Floor, New York, NY 10017 www.aif.org SOFTWARE TESTING TRAINING MODULE About the American India Foundation The American India Foundation is committed to catalyzing social and economic change in India, andbuilding a lasting bridge between the United States and India through high impact interventions ineducation, livelihoods, public health, and leadership development. Working closely with localcommunities, AIF partners with NGOs to develop and test innovative solutions and withgovernments to create and scale sustainable impact. Founded in 2001 at the initiative of PresidentBill Clinton following a suggestion from Indian Prime Minister Vajpayee, AIF has impacted the lives of 4.6million of India’s poor. Learn more at www.AIF.org About the Market Aligned Skills Training (MAST) program Market Aligned Skills Training (MAST) provides unemployed young people with a comprehensive skillstraining that equips them with the knowledge and skills needed to secure employment and succeed on thejob. MAST not only meets the growing demands of the diversifying local industries across the country, itharnesses India's youth population to become powerful engines of the economy. AIF Team: Hanumant Rawat, Aamir Aijaz & Rowena Kay Mascarenhas American India Foundation 10th Floor, DLF City Court, MG Road, Near Sikanderpur Metro Station, Gurgaon 122002 216 E. 45th Street, 7th Floor New York, NY 10017 530 Lytton Avenue, Palo Alto, CA 9430 This document is created for the use of underprivileged youth under American India Foundation’s Market Aligned Skills Training (MAST) Program.
    [Show full text]
  • Testing Management Plan
    AHCA Florida Health Care Connections (FX) <<Insert Project Name Here>> Testing Management Plan Version: 300 Date: Month dd, yyyy Author: [Author] Submitted To: AHCA FX Project Management Revision History DATE VERSION DESCRIPTION AUTHOR <<Insert Project Name Here>> Testing MM/DD/YYYY 001 Management Plan first draft version Modifications to the approved baseline version (100) of this artifact must be made in accordance with the Artifact Management Standards. Quality Review History DATE REVIEWER COMMENTS MM/DD/YYYY Agency for Health Care Administration Page ii <<Insert Project Name Here>> Testing Management Plan Table of Contents Section 1 Introduction ............................................................................................................ 1 1.1 Purpose ........................................................................................................................ 1 1.2 Scope Statement .......................................................................................................... 1 1.3 Goals and Objectives ................................................................................................... 2 1.4 Referenced Documents ................................................................................................ 2 Section 2 Roles and Responsibilities .................................................................................... 3 Section 3 Assumptions, Contraints, and Risks ...................................................................... 4 3.1 Assumptions ................................................................................................................
    [Show full text]
  • Professional Software Testing Using Visual Studio 2019
    Professional Software Testing Using Visual Studio 2019 Learn practical steps to reduce quality issues and meet release dates and budgets Shift your testing activities left to find bugs sooner Improve collaboration between the developers and testers Get hands-on experience with Visual Studio 2019, Azure DevOps Services, and common marketplace tools. Through a combination of lecture, demonstrations, and team-based exercises, learn to deliver high-quality increments of software on regular iterations using the tools found in Visual Studio, Azure DevOps Services, and the community marketplace. This three-day course provides students with practical software testing techniques and technical skills, as well as exposure to Test-Driven Development (TDD), Acceptance Test-Driven Development (ATDD), Test Impact Analysis, Continuous Integration (CI), and more. Understand and practice development testing acceptance testing, and exploratory testing. Create automated acceptance tests in Visual Studio, use SpecFlow to automate acceptance testing, and learn to use Microsoft Test Runner. Learn to plan and track work, manage test cases, and more utilizing Azure DevOps Services and associated tools. Who Should Attend This course is appropriate for all members of a software development team, especially those performing testing activities. This course also provides value for non-testers (developers, designers, managers, etc.) who want a better understanding of what agile software testing involves. This is an independent course and is neither affiliated with, nor authorized, sponsored, or approved by, Microsoft Corporation. Course Outline Agile Software Testing Exploratory Tests Overview of agile software development Introduction to exploratory tests The agile tester and agile testing practices Using the Microsoft Test & Feedback extension Different types of testing Connected mode vs.
    [Show full text]
  • Professional Software Testing Using Visual Studio 2019 PTVS2019 | 3 Days
    Professional Software Testing Using Visual Studio 2019 PTVS2019 | 3 Days This three-day course will introduce you to the contemporary testing principles and practices used by agile teams to deliver high-quality increments of software on regular iterations. Through a combination of lecture, demonstrations, and team-based exercises, students will experience how to do this by leveraging the tools found in Visual Studio, Azure DevOps Services, and the community marketplace. Course Objectives At course completion, attendees will have had exposure to: ✓ Agile software development and testing ✓ Acceptance Test-Driven Development (ATDD) ✓ The role of the agile tester ✓ Creating automated acceptance tests in Visual Studio ✓ Developer and tester collaboration ✓ Using SpecFlow to automate acceptance testing ✓ Agile software requirements ✓ Using Microsoft Test Runner ✓ Introduction to Azure DevOps Services ✓ Testing web and desktop applications ✓ Using Azure Boards to plan and track work ✓ Capturing screenshots and video while testing ✓ Creating, managing, and refining a product backlog ✓ Viewing and charting test run results ✓ Defining and planning for quality software ✓ Using Selenium for automated web UI testing ✓ Using Azure Test Plans for test case management ✓ Using Appium for automated desktop UI testing ✓ Creating and managing test plans ✓ Performance and load testing ✓ Organizing test cases into test suites ✓ Introduction to exploratory testing ✓ Test configurations and configuration variables ✓ Using the Microsoft Test & Feedback extension ✓ Creating and managing test cases ✓ Creating a work item during a testing session ✓ Creating parameterized test cases ✓ Exploratory testing tours ✓ Leveraging shared steps ✓ Requesting and providing stakeholder feedback ✓ Importing and exporting test artifacts ✓ Introduction to Azure Pipelines ✓ Triaging and reporting bugs ✓ Building, testing, & releasing code using Azure Pipelines ✓ Extending Azure Test Plans ✓ Hosted vs.
    [Show full text]
  • A Brief Essay on Software Testing
    1 A Brief Essay on Software Testing Antonia Bertolino, Eda Marchetti Abstract— Testing is an important and critical part of the software development process, on which the quality and reliability of the delivered product strictly depend. Testing is not limited to the detection of “bugs” in the software, but also increases confidence in its proper functioning and assists with the evaluation of functional and nonfunctional properties. Testing related activities encompass the entire development process and may consume a large part of the effort required for producing software. In this chapter we provide a comprehensive overview of software testing, from its definition to its organization, from test levels to test techniques, from test execution to the analysis of test cases effectiveness. Emphasis is more on breadth than depth: due to the vastness of the topic, in the attempt to be all-embracing, for each covered subject we can only provide a brief description and references useful for further reading. Index Terms — D.2.4 Software/Program Verification, D.2.5 Testing and Debugging. —————————— u —————————— 1. INTRODUCTION esting is a crucial part of the software life cycle, and related issues, we can only briefly expand on each argu- T recent trends in software engineering evidence the ment, however plenty of references are also provided importance of this activity all along the development throughout for further reading. The remainder of the chap- process. Testing activities have to start already at the re- ter is organized as follows: we present some basic concepts quirements specification stage, with ahead planning of test in Section 2, and the different types of test (static and dy- strategies and procedures, and propagate down, with deri- namic) with the objectives characterizing the testing activity vation and refinement of test cases, all along the various in Section 3.
    [Show full text]
  • Software Engineering
    SOFTWARE ENGINEERING FUNDAMENTALS OF SOFTWARE TESTING Software testing is the evaluation of a system with the intention of finding an error or fault or a bug. It also checks for the functionalities of the system so that it meets the specified requirements. LEARNING OBJECTIVES • To execute a program with the intent of finding an error. • To check if the system meets the requirements and be executed successfully in the intended environment. • To check if the system is “Fit for purpose”. • To check if the system does what it is expected to do. STAGES OF TESTING Various testing is done during various phases of the development cycle such as: Module or unit testing. Integration testing, Function testing. Performance testing. Acceptance testing. Installation testing. UNIT TESTING Unit testing is the testing and validation at the unit level. Unit testing validates and tests the following: Algorithms and logic Data structures (global and local) Interfaces Independent paths Boundary conditions Error handling Formal verification. Testing the program itself by performing black box and white box testing. INTEGRATION TESTING One module can have an adverse effect on another. Sub-functions, when combined, may not produce the desired major function. Individually acceptable imprecision in calculations may be magnified to unacceptable levels. Interfacing errors not detected in unit testing may appear in this phase. Timing problems (in real-time systems) and resource contention problems are not detectable by unit testing. Top-Down Integration The main control module is used as a driver, and stubs are substituted for all modules directly subordinate to the main module. Depending on the integration approach selected (depth or breadth first), subordinate stubs are replaced by modules one at a time.
    [Show full text]