Testing frameworks provide an execution environment for automated tests. The main types are modular, data-driven, and keyword-driven frameworks. Modular frameworks organize tests into independent scripts representing application modules. Data-driven frameworks store test data and expected results in external files to reduce code duplication. Keyword-driven frameworks use external files to store test actions and data. Hybrid frameworks combine advantages of the different approaches. While frameworks work with waterfall models, agile methodologies benefit more from test-driven development and behavior-driven development which integrate testing throughout development.
This is my complete introductory course for Software Test Automation.If you need full training that includes different automation tools (Selenium, J-Meter, Burp, SOAP UI etc), feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.
Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Software testing can be stated as the process of validating and verifying that a computer program/application/product:
• meets the requirements that guided its design and development,
• works as expected,
• can be implemented with the same characteristics,
• and satisfies the needs of stakeholders.
Software Development Process Cycle:-
PLAN (P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective.
DO (D): Execute the plan. Create the conditions and perform the necessary training to execute the plan.
CHECK (C): Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.
ACTION (A): Take the necessary and appropriate action if checkup reveals that the work is not being performed according to plan or not as anticipated.
This is my complete introductory course for Software Test Automation.If you need full training that includes different automation tools (Selenium, J-Meter, Burp, SOAP UI etc), feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
Software testing is the process of evaluation a software item to detect differences between given input and expected output. Also to assess the feature of A software item. Testing assesses the quality of the product. Software testing is a process that should be done during the development process. In other words software testing is a verification and validation process.
Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Software testing can be stated as the process of validating and verifying that a computer program/application/product:
• meets the requirements that guided its design and development,
• works as expected,
• can be implemented with the same characteristics,
• and satisfies the needs of stakeholders.
Software Development Process Cycle:-
PLAN (P): Device a plan. Define your objective and determine the strategy and supporting methods required to achieve that objective.
DO (D): Execute the plan. Create the conditions and perform the necessary training to execute the plan.
CHECK (C): Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.
ACTION (A): Take the necessary and appropriate action if checkup reveals that the work is not being performed according to plan or not as anticipated.
Top 50 Software Testing Interview Questions & Answers | EdurekaEdureka!
YouTube Link: https://youtu.be/dP1YzqKnnTo
** Test Automation Engineer Masters Program: https://www.edureka.co/masters-program/automation-testing-engineer-training **
This Edureka PPT on Top 50 Software Testing Interview Question and Answers will help you to prepare yourself for Software Testing Interviews. It covers questions for beginners, intermediate and experienced professionals.
Below topics are covered in this PPT:
Market Trends in Software Testing
What is Software testing
Top 50 interview questions:
Beginners level questions
Intermediate level questions
Advance level questions
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. I hope this ppt will help u to learn about software testing.
Codeless Test Automation - A Webinar PresentationInflectra
This is a presentation linked to a live webinar called: Codeless Test Automation. This is the 5th webinar in Inflectra's 7- part live webinar series called: Test Automation, Demystified.
The presentation covers the concept of codeless test automation, its strengths and weaknesses. In addition, it gives practical tips for selecting scenarios for codeless automation.
The webinar is presented by Denis Markovtsev - a senior software engineer and automation architect at Inflectra.
** Software Testing Certification Courses: https://www.edureka.co/software-testing-certification-courses **
This Edureka PPT on Software Testing Tutorial talks about different types of testing i.e. manual testing and automation testing approaches. Furthermore, it will also give you a brief insight on an automation Testing tool i.e. Selenium. Below topics are covered in this PPT:
Software Testing Overview
SDLC - Waterfall model, Spiral Model
Verification and Validation model
STLC
Types of Software testing
Software testing methods
Software Testing levels
Software testing documentation
Defect/bug life cycle-its importance
Automation testing - Why it is important?
Selenium
Selenium Locators
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
What are Software Testing Methodologies | Software Testing Techniques | EdurekaEdureka!
YouTube Link: https://youtu.be/6rNgPXz9A9s
(** Test Automation Masters Program: https://www.edureka.co/masters-program/automation-testing-engineer-training **)
This Edureka PPT on "Software Testing Methodologies and Techniques" will give you in-depth knowledge about different types of software testing models and techniques
The following are the topics covered in the session:
Importance of Software Testing
Software Testing Methodologies
Software Testing Techniques
Black-Box Techniques
White-Box Techniques
Experience-Based Techniques
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Non-functional testing is the testing of a software application or system for its non-functional requirements: the way a system operates, rather than specific behaviours of that system.
Using Selenium for Automated testing - basic level: short introduction into the selectors and basic methods used in writing a simple script with Selenium Webdriver.
Leading from behind - FoxHedge XBOSoft - Acceptance Test Driven Development -...XBOSoft
In Acceptance Test Driven Development the acceptance criteria and acceptance tests for those criteria are created before the start of development.
Keywords:
Agile
Agile testing
Acceptance test driven development
Best practices and lessons learned
These slides are from a webinar by XBOsoft and Jim York:
Jim is a Certified Scrum Coach, Certified Scrum Trainer, and cofounder of FoxHedge Ltd. For more than 25 years as a management and IT consultant, Jim has led, trained, and coached hundreds of individuals, teams, and organizations in the implementation of Lean and Agile concepts. His workshops blend his practical experience in Scrum, Lean Software Development, Extreme Programming, Agile Project Management, Product Management, and traditional project management. Jim shares his passion for Lean and Agile as a frequent presenter at conferences, users groups, public and on-site workshops, and as a business process coach.
XBOSoft is an American firm specializing in software quality assurance with branch offices in Europe and Asia. With a proven record of success working for Fortune 500 companies and specialized software vendors, XBOSoft has gained deep domain expertise in the fields of healthcare, finance, technology, and energy.
Top 50 Software Testing Interview Questions & Answers | EdurekaEdureka!
YouTube Link: https://youtu.be/dP1YzqKnnTo
** Test Automation Engineer Masters Program: https://www.edureka.co/masters-program/automation-testing-engineer-training **
This Edureka PPT on Top 50 Software Testing Interview Question and Answers will help you to prepare yourself for Software Testing Interviews. It covers questions for beginners, intermediate and experienced professionals.
Below topics are covered in this PPT:
Market Trends in Software Testing
What is Software testing
Top 50 interview questions:
Beginners level questions
Intermediate level questions
Advance level questions
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. I hope this ppt will help u to learn about software testing.
Codeless Test Automation - A Webinar PresentationInflectra
This is a presentation linked to a live webinar called: Codeless Test Automation. This is the 5th webinar in Inflectra's 7- part live webinar series called: Test Automation, Demystified.
The presentation covers the concept of codeless test automation, its strengths and weaknesses. In addition, it gives practical tips for selecting scenarios for codeless automation.
The webinar is presented by Denis Markovtsev - a senior software engineer and automation architect at Inflectra.
** Software Testing Certification Courses: https://www.edureka.co/software-testing-certification-courses **
This Edureka PPT on Software Testing Tutorial talks about different types of testing i.e. manual testing and automation testing approaches. Furthermore, it will also give you a brief insight on an automation Testing tool i.e. Selenium. Below topics are covered in this PPT:
Software Testing Overview
SDLC - Waterfall model, Spiral Model
Verification and Validation model
STLC
Types of Software testing
Software testing methods
Software Testing levels
Software testing documentation
Defect/bug life cycle-its importance
Automation testing - Why it is important?
Selenium
Selenium Locators
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
What are Software Testing Methodologies | Software Testing Techniques | EdurekaEdureka!
YouTube Link: https://youtu.be/6rNgPXz9A9s
(** Test Automation Masters Program: https://www.edureka.co/masters-program/automation-testing-engineer-training **)
This Edureka PPT on "Software Testing Methodologies and Techniques" will give you in-depth knowledge about different types of software testing models and techniques
The following are the topics covered in the session:
Importance of Software Testing
Software Testing Methodologies
Software Testing Techniques
Black-Box Techniques
White-Box Techniques
Experience-Based Techniques
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Software Testing Blog playlist: http://bit.ly/2UXwdJm
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Non-functional testing is the testing of a software application or system for its non-functional requirements: the way a system operates, rather than specific behaviours of that system.
Using Selenium for Automated testing - basic level: short introduction into the selectors and basic methods used in writing a simple script with Selenium Webdriver.
Leading from behind - FoxHedge XBOSoft - Acceptance Test Driven Development -...XBOSoft
In Acceptance Test Driven Development the acceptance criteria and acceptance tests for those criteria are created before the start of development.
Keywords:
Agile
Agile testing
Acceptance test driven development
Best practices and lessons learned
These slides are from a webinar by XBOsoft and Jim York:
Jim is a Certified Scrum Coach, Certified Scrum Trainer, and cofounder of FoxHedge Ltd. For more than 25 years as a management and IT consultant, Jim has led, trained, and coached hundreds of individuals, teams, and organizations in the implementation of Lean and Agile concepts. His workshops blend his practical experience in Scrum, Lean Software Development, Extreme Programming, Agile Project Management, Product Management, and traditional project management. Jim shares his passion for Lean and Agile as a frequent presenter at conferences, users groups, public and on-site workshops, and as a business process coach.
XBOSoft is an American firm specializing in software quality assurance with branch offices in Europe and Asia. With a proven record of success working for Fortune 500 companies and specialized software vendors, XBOSoft has gained deep domain expertise in the fields of healthcare, finance, technology, and energy.
Microsoft Testing Tour - Functional and Automated TestingAngela Dugan
What should I automate?
While manual testing is always going to have its place, there are several types of tests that can be automated for efficiency. In this session, we’ll discuss everything from automating functional and load tests to the automation of writing test case steps and designing for reuse.
.NET is both a business strategy from Microsoft and its collection of programming support for what are known as Web services, the ability to use the Web rather than your own computer for various services.
http://www.thinkittraining.in/dotnet
How To Transform the Manual Testing Process to Incorporate Test AutomationRanorex
Although most testing organizations have some automation, it's usually a subset of their overall testing efforts. Typically the processes have been previously defined, and the automation team must adapt accordingly. The major issue is that test automation work and deliverables do not always fit into a defined manual testing process.
Learn how to transform your manual testing procedures and how to incorporate test automation into your overall testing process.
Test Automation Framework An Insight into Some Popular Automation Frameworks.pdfSerena Gray
An automated test environment can be easily set up using the framework, which will in turn help boost the performance of development and QA teams. In this article, you will get to know about the function of a test automation framework along with the most popular test automation frameworks.
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test ScenarioSiddharth Sharma
Test case design in software testing is a mandatory skill for every Software Test Engineer, QA Engineer, Quality Analyst etc. Test scenario vs Test case are the topics that are required to be clarified. Test suite collection should be managed to have good quality testing.
Software testing concepts is going to enhance from manual testing to automated testing. Due to rapidly increasing complexity in software development process, the present manual testing technique is not sufficient for effective testing. Hence, here arises the requirement of test automation process. The automation testing is the software testing process in which the tester use advance automation tools for testing software applications areas, which needs to be tested again-and-again due to frequent changes.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
2. Agenda
• Introduction to Software Test Automation.
• What is Test Automation.
• Why do we need test automation.
• Test Automation using Testing frameworks.
• What is a testing framework.
• Types of testing frameworks.
• Comparison of different frameworks.
• Shift from Waterfall to Agile.
• Summary
4. What is Test Automation
• Test automation is the use of software (under a setting of test preconditions) to
execute tests and then determine whether the actual outcomes and the
predicted outcomes are the same.
5. Where does Test Automation fit in
the Software Life Cycle
• Considering the earlier software life cycles such as the waterfall model
the test automation appears in this life cycle during the implementation
and testing phase.
TEST
AUTOMATION
REQUIREMENTS
DESIGN
IMPLEMENTATION
TESTING
OPERATIONS
TEST PLAN
6. Why do we need Test Automation
• Companies not only want to test software adequately, but also as quickly and
thoroughly as possible. To accomplish this goal, organizations are turning to
automated testing.
• To increase the test coverage
• Reduces the need for manual testing and discovers defects manual testing
cannot expose and also manual testing is error prone and a time consuming
process.
• Running the tests again and again gives us the confidence that the new work we
added to the system did not break the code that used to work and also to make
sure that the changes we introduced are working.
• Executing the tests (particularly acceptance tests) can also help us understand
what portion of the desired functionality has been implemented.
7. • The set of the automated test suite can form a regression test suite.
The purpose of the regression suite is to make sure that the software
behavior is unchanged unless due to data change or latest software.
• Automating also reduces the time taken for regression testing.
• Automated unit test suite helps find the problems at an earlier stage
and solve them.
9. What is a Testing Framework
• A testing framework or more specifically a testing automation
framework is an execution environment for automated tests. It is the
overall system in which the tests will be automated.
• It is defined as the set of assumptions, concepts, and practices that
constitute a work platform or support for automated testing.
• The Testing framework is responsible for:
• Defining the format in which to express expectations.
• Creating a mechanism to hook into or drive the application under test
• Executing the tests
• Reporting results
• Properties of a testing framework:
• It is application independent.
• It is easy to expand, maintain and perpetuate.
10. Why we need a Testing Framework
• If we have a group of testers and suppose if each project implements a unique
strategy then the time needed for the tester become productive in the new
environment will take long.
• To handle this we cannot make changes to the automation environment for each
new application that comes along. For this purpose we use a testing framework
that is application independent and has the capability to expand with the
requirements of each application.
• Also an organized test framework helps in avoiding duplication of test cases
automated across the application.
• In short Test frameworks helps teams organize their test suites and in turn help
improve the efficiency of testing.
12. Modular Testing Framework
• The Modularity testing framework is built on the concept of abstraction.
• This involves the creation of independent scripts that represent the
modules of the application under test. These modules in turn are used
in a hierarchical fashion to build large test cases.
• Thus it builds an abstraction layer for a component to hide that
component from the rest of the application. Thus the changes made to
the other part of the application do not effect that component.
Test
Script
Test
Script
Module1 Module2 Module N Module N+2 Module N+10Module N+1… …
13. Example of Modular Testing Framework
• To demonstrate the modular framework we use the calculator
program.
• Consider the basic functions of the calculator such as addition,
subtraction, multiplication, division which are part of the
Standard view.
• We create scripts for these functions as follows:
Add:
Sub Main
Window Set Context, "Caption=Calculator", "“
PushButton Click, "ObjectIndex=10“ ‘Press 5
PushButton Click, "ObjectIndex=20“ ‘Press +
PushButton Click, "ObjectIndex=14“ ‘Press 6
PushButton Click, "ObjectIndex=21“ ‘Press =
Result = LabelUP (CompareProperties, "Text=11.", "UP=Object
Properties")
‘Compare Expected to Actual Results
End Sub
14. • In a similar way we create scripts for subtraction, multiplication
and division.
• At the next level of hierarchy, we create two scripts for standard
view and scientific view of which the standard view contains
calls to the scripts we created as before.
Driver Script
Standard
View
Scientific
View
Add Subtract Multiply Division Log Sin
15. • The Driver script is the top most level of hierarchy which contains the
scripts of standard and scientific view.
Driver Script:
Sub Main
'Test the Standard View
CallScript "Test Script Mod Framework - Standard"
'Test the Scientific View
CallScript "Test Script Mod Framework - Scientific“
End Sub
Thus this framework introduces a high level of modularization. So when
there is a change in the functionality we can change the bottom level
script without effecting all the other test cases that test that control.
16. Modular Testing Framework - Cont.
Advantages:
•Modular division of scripts leads to easier maintenance and also the
scalability of the automated test suites.
•The functionality is available in easy to use test libraries so creating new
driver scripts for different tests is easy and fast.
Disadvantages:
•The main problem with modular frameworks is that the test script have
test data embedded in them. So when the test data needs to be updated
we need to change the code of the script. This becomes a big problem
when the test script is large.
For this purpose, data- driven testing frameworks have been introduced.
17. Data-Driven Testing Framework
• Data driven testing is where the test input and the expected output
results are stored in a separate data file (normally in a tabular format)
so that a single driver script can execute all the test cases with multiple
sets of data.
• The driver script contains navigation through the program, reading of
the data files and logging of the test status information.
Data
File
Drive
Script
Actual
Output
Expected
Output
18. Example of Data Driven Testing Framework
• To demonstrate the data driven testing framework we use the
login page of the flight reservation
• The first step involves creating the test data file. (testdata.csv)
This data file contains the different types of input data which will
be given to the driver script.
Test
Case
Number1 Operator Number2 Expected
Result
Add 2 + 3 5
Subtract 3 - 2 1
Multiply 2 * 3 6
Divide 2 / 2- 1-
19. • In the next step we create a driver script and make references to the
test data file.
data = open ( ’ testdata.csv’ ) . read ( )
l i n e s = data . s p l i t l i n e s ( ) #excluding the header row
for line in lines:
Read Number1
Read Number2
Read Operator
Calculate the result using the Operator on
Number 1 and Number2
Compare the result to the expected result
•This driver script reads the data from the data file computes the value
and compares it with the expected result from the data file.
20. Data-Driven Testing Framework - Cont.
Advantages:
•This framework reduces the number of overall test scripts needed to implement all
the test cases.
•Less amount of code is required to generate all the test cases.
•Offers greater flexibility when it comes to maintenance and fixing of bugs.
•The test data can be created before test implementation is ready or even before
the system to be tested is ready.
Disadvantages:
•The test cases created are similar and creating new kind of tests requires creating
new driver scripts that understand different data. Thus the test data and driver
scripts are strongly related that changing either requires changing the other.
For this purpose keyword driven testing frameworks have been introduced.
21. Keyword- Driven Testing Framework
• Keyword driven testing is an application independent framework
utilizing data tables and self explanatory keywords to explain the
actions to be performed on the application under test.
• Not only is the test data kept in the file but even the directives telling
what to do which is in the test scripts is put in external input data file.
• These directives are called keywords. The keyword based testing is an
extension to the data driven testing.
Keywords/
Actions
Test Data
Driver
Script
Test Result
Input Output
22. Example of Keyword Driven Testing Framework
• To demonstrate the keyword driven testing we take the actions performed by the
mouse when making calculations.
• We create a table that maps the actions performed with the mouse on the
window of the calculator application. In this table,
• The windows column represents the application for which we are performing the
mouse action.
• The control column represents the control that we are clicking with the mouse.
• The action column represents the action performed by the mouse.
• The argument column contains the specific control value.
23. • After creating the table, we create a set of scripts for reading in the table,
executing each step based on the keyword contained in the action field and
logs any relevant information.
• The below pseudo code represents this test of scripts.
Window Control Action Arguments
Calculator Menu View,
Standard
Calculator Pushbutton Click 2
Calculator Pushbutton Click +
Calculator Pushbutton Click 3
Calculator Pushbutton Click =
Calculator Verify Result 5
Calculator Clear
Calculator Pushbutton Click 5
Calculator Pushbutton Click -
Calculator Pushbutton Click 3
Calculator Pushbutton Click =
Calculator Verify Result 2
24. Main Script / Program
Connect to data tables.
Read in row and parse out values.
Pass values to appropriate functions.
Close connection to data tables.
Return
Menu Module Set focus to window.
Select the menu pad option.
Return.
Pushbutton Module Set focus to window.
Push the button based on argument.
Return.
Verify Result Module Set focus to window.
Get contents from label.
Return
Compare contents with argument value.
Log results.
Return.
25. Keyword- Driven Testing Framework
Advantages:
•It has all the advantages that data driven testing has.
•Automation expertise is not required to maintain or create a new set of test cases.
•Keywords are reused across multiple test cases.
Disadvantages:
•The main problem is that this requires a more complicated framework than the
data driven framework.
•With the keyword driven approach the test cases get longer and complex and this
is due to the greater flexibility that this approach offers. So in order to combine the
strengths of all the frameworks and mitigate their weaknesses we use the hybrid
testing framework.
26. Hybrid Testing Framework
• Hybrid testing framework is the combination of modular, data-driven
and keyword driven testing frameworks.
• This combination of frameworks helps the data driven scripts take
advantage of the libraries which usually accompany the keyword driven
testing.
Driver Script
Modular
Test
Script
1
Test
Script
2
Test
Script
3
Test Script
N. .
.
Data
FileFunction Library
Keyword and Data driven
27. Example of Hybrid Testing Framework
• The hybrid framework for the calculator can be shown as follows:
Test
Script
Driver Script Environmental
Variables
Standard
View
Scientific
View
Keyword/Actions
File Test Data Pool
Test Results
Add Log
Sub Sin
Mul Cos
28. Comparison of Frameworks
Approach Advantages Disadvantages
Modular testing
framework
Modular approach
Reusable functions
Hierarchical Structure
Test data within the
scripts limits reusability,
Test script is
dependent on software.
Data driven testing
framework
Improved
Maintainability
Dependency on
technical expertise,
Test script is
dependent on software.
Keyword driven testing
framework
Ease of maintenance,
Scalability, Less
dependency of
software.
Dependency on
technical expertise,
Requires large effort
Hybrid testing
framework
Integrates the
advantages of all the
other frameworks.
Increased Complexity
30. • We do not see a working version of the software until late in the
waterfall life cycle. Problems may be more costly to fix in this phase
than they would have been earlier in the life cycle.
• Using test automation in the water fall model with feedback does not
have many advantages as only regression testing is covered in the test
automation and every time regression testing of the previous version
has to be executed.
• Hence it is required to start test automation early in the software
development life cycle.
• Test automation with agile methodologies has advantages compared
with the traditional life cycles as testing is done throughout the life cycle
process.
• In the agile life cycle the test automation execution starts early in the
software life cycle.
32. • Agile life cycles are characterized by short and rapid test cycles and
frequent change requests. Thus test automation plays a crucial role in
software testing.
• Any type of testing framework can be implemented in the agile
environment but with the short iterations and rapidly changing
requirements it becomes difficult to maintain the test automation suite.
• In the agile environments, testing plays a crucial role through the
different phases of iterations. It involves continuous integration, unit
testing (which is usually done using test driven development) and
constant regression testing which is difficult to accomplish using testing
frameworks.
• Also, achieving maximum code and functionality coverage using testing
frameworks is difficult.
Hence testing frameworks are not a good fit for the agile environment.
34. • Test driven development is a technique of using automated unit
tests to drive the design of software and force decoupling of
dependencies.
With traditional testing a successful test finds one or more
defects. But
using TDD we have a clear measure of success when the test no
longer fails. Thus TDD increases our confidence that the system
meets the requirements and that the system is working properly
when compared to the confidence that traditional testing
provides.
Why TDD?
• To avoid wasting time on debugging.
• To improve the quality of code.
• To increase confidence.
35. • Behavior driven development is an extension to the test driven
development in that it focuses on the behavior of the system
rather than the implementation aspect of the system.
• Thus it gives a clear understanding of what the system should
do to both the developer as well as the customer making the
testing process even more efficient.
Why BDD?
Promotes Outside-In Development.
•BDD = TDD + automated acceptance testing.
36. Summary
• The test framework should be application-independent.
• The test framework must be easy to expand, maintain, and perpetuate.
• Data driven testing is the quickest and easiest to implement if we have
a technical expertise.
• Keyword driven testing is the hardest and most time consuming but
once implemented it is the easiest to maintain.
• Hybrid testing combines the advantages of all the other frameworks but
requires technical expertise and is useful for long term projects.
• With agile methodologies, test driven development and behavior driven
development are more useful as they ensure testing of the application
to the fullest.