SlideShare a Scribd company logo
2
Most read
4
Most read
16
Most read
SDET?
Introduction to SDET
SDET is an IT professional who can work equally effectively
in development and testing roles. Full form of SDET is
Software Development Engineer in Test and he/she takes part
in the complete software development process. An SDET's
professional's knowledge is entirely focused on testability,
robustness, and performance. They are also able to play a
contributory or reviewer role in the creation of designs for
production software.
History
• Introduced by Microsoft
• Widely popularized when Google
followed suit after Microsoft
• Introduced to bridge the Gap between
Development (Technical) vs Product
(Functional, Generally POs and the
tester)
• SDET are in the Techno Functional space
between the product and development
team, Having a good knowledge of
Functionality as well as the code that
drives it
SDET vs Traditional
QA
While the roles of SDETs may seem very similar to
those of QA Automation Engineers, with even most
of the tools and language expertise required being
same (Selenium, Java, and Jenkins), there are certain
obvious and clear differences between the two roles.
An SDET, in layman terms, is a developer who
instead of working in the product development
team, works as part of the test team. SDETs are
responsible not only for writing code but are
required to test the code as well. SDETs are required
to continuously write, test, and fix the code they
write. Their roles and responsibilities are based on
the Agile lifecycle model. SDETs usually are
professionals who have very strong analytical,
technical, and problem-solving skills.
When is it Beneficial over Traditional QA
Essentially, the SDET is a Full stack tester. An SDET is expected to be able to find bottlenecks in the
code, can be deployed to hunt issues ranging from Code Quality, Design, Scalability and NFRs and
builds an overall framework (Not always technical) and executes it to discover an issue.
A QE, broadens it past the conventional extension by including unit tests and parts of white box
testing, thereby bringing in the best of both worlds, a flavor of Code in Unit testing and Full-blown
tests of traditional QA methods
NFR
(Nonfunctional
Requirements)
Also known as system qualities, nonfunctional
requirements are just as critical as functional Epics,
Capabilities, Features, and Stories. They ensure the
usability and effectiveness of the entire system.
Nonfunctional Requirements (NFRs) define system
attributes such as security, reliability, performance,
maintainability, scalability, and usability. They serve
as constraints or restrictions on the design of the
system across the different backlogs.
Benchmarking
Internal benchmarking is a
comparison of a business
process to a similar process
inside the organization.
Competitive benchmarking is a
direct competitor-to-
competitor comparison of a
product, service, process, or
method.
Functional benchmarking is a
comparison to similar or
identical practices within the
same or similar functions
outside the immediate
industry.
Generic benchmarking broadly
conceptualizes unrelated
business processes or functions
that can be practiced in the
same or similar ways
regardless of the industry.
Benchmarking is a process of setting a standard for a software which can be used to relatively measure a
performance for the software.
Metrics
The process of benchmarking leads us with lot of standard values
that can be used to measure the improvement or degradation in
the system being tested.
We use a lot of Performance and Time-based metrics to decide
the quality and reliability of the code, These Metrics generally
also give us a very clear picture of the Nonfunctional
Requirements being adhered to and tested on at a system level.
Reliability
Reliability means "yielding the same," in other terms, the word
"reliable" means something is dependable and that it will give the
same outcome every time. The same is true for Reliability testing.
Reliability testing in software assures that the product is fault free
and is reliable for its intended purpose.
How to Inspect reliability of a system?
Test Retest Reliability
Parallel Action Reliability
Robustness
The word robust, when used regarding a software, refers to
an operating system or other program that performs well not only
under ordinary conditions but also under unusual conditions that
stress its designers' assumptions.
Robustness is something that should be designed into software from
the ground up, it is not something that can be successfully tacked on
later.
Fuzz Testing to
Examine
Robustness
Fuzz testing is a technique that deals with robustness
test for any software application, which is a way to
inject random, unexpected input values to the
system to verify whether the application crashes or if
there’s any memory leak. Sometimes the inputs
reflect certain behavior that bring out some
unexpected results which might divert our attention
to some new aspect that may help us explore a new
dimension.
Performance
As a general definition, performance measures how
effective is a software system with respect to time
constraints and allocation of resources.
Facets of Perf Testing
Load testing - checks the application's
ability to perform under anticipated
user loads. The objective is to identify
performance bottlenecks before the
software application goes live.
Stress testing - involves testing an
application under extreme workloads to
see how it handles high traffic or data
processing. The objective is to identify
the breaking point of an application.
Endurance testing - is done to make
sure the software can handle the
expected load over a long period of
time.
Spike testing - tests the software's
reaction to sudden large spikes in the
load generated by users.
Maintainability
In engineering, maintainability is the ease with which a product can be maintained in order to:
• correct defects or their cause,
• repair or replace faulty or worn-out components without having to replace still working
parts,
• meet new requirements,
• make future maintenance easier
Maintainability involves a system of continuous
improvement - learning from the past in order to
improve the ability to maintain systems or
improve reliability of systems based on
maintenance experience.
The 4 categories of maintainability test are:
• Corrective maintenance tests: The system is measured
to diagnose and fix the problems as soon as it is
identified.
• Perfective maintenance tests: The system is measured
in terms of time taken to make the effort for
enhancements.
• Adaptive maintenance tests: It is for adapting the
changes in the environment.
• Preventive maintenance tests: It is to reduce the
future maintenance costs.
Scalability
Scalability is the property of a system to handle a
growing amount of work by adding resources to the
system.
The main objective of this is to determine when an
application starts to degrade at a maximum load and
take proper steps to ensure that the developed
application is scalable enough to accommodate the
changes in the internal applications, software,
hardware and the database changes in the future.
Usability
Usability is the ease of use and learnability of a
human-made object such as a tool or device.
In software engineering, usability is the degree
to which a software can be used by specified
consumers to achieve quantified objectives with
effectiveness, efficiency, and satisfaction in a
quantified context of use.
The philosophy behind this is that a piece of
software should be intuitive and could be easily
utilized by someone new or not fully
acquainted by the application
What do we bring to the Table?
Understanding of the systems functionality.
Good understanding of the code and implementation techniques used.
Birds eye view of the system.
Solid understanding of the NFRs of the system.
A sound knowledge of automation techniques to assist the developer in developing reliable code.
Ability to pivot from a QA to Dev in case some extra help is needed.
Questions?

More Related Content

PPTX
Katalon Studio Presentation.pptx
PPTX
Rest assured
PPTX
Software devops engineer in test (SDET)
PPTX
Test Automation Framework with BDD and Cucumber
PPT
Testing concepts ppt
PPTX
Automated Test Framework with Cucumber
PPTX
Automation Testing With Appium
PDF
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio Presentation.pptx
Rest assured
Software devops engineer in test (SDET)
Test Automation Framework with BDD and Cucumber
Testing concepts ppt
Automated Test Framework with Cucumber
Automation Testing With Appium
Katalon Studio - Successful Test Automation for both Testers and Developers

What's hot (20)

PPTX
Automation test framework with cucumber – BDD
ODP
BDD with Cucumber
PPTX
API Automation Testing Using RestAssured+Cucumber
PDF
Postman: An Introduction for Testers
PPT
Test Automation Framework Designs
PPTX
Maven ppt
PPTX
QA Best Practices in Agile World_new
PDF
Cross Browser Testing Using LambdaTest | Edureka
PPTX
Test Automation and Selenium
PDF
Selenium - Introduction
PPTX
Software Testing Introduction
PPTX
Cypress for Testing
PDF
API Testing. Streamline your testing process.
PPTX
Cypress Automation
PPTX
Types of testing
PPT
Basic software-testing-concepts
PPT
Role Of Qa And Testing In Agile 1225221397167302 8
PDF
ISTQB Foundation Level Basic
PPT
Software Testing Life Cycle
PPT
Postman.ppt
Automation test framework with cucumber – BDD
BDD with Cucumber
API Automation Testing Using RestAssured+Cucumber
Postman: An Introduction for Testers
Test Automation Framework Designs
Maven ppt
QA Best Practices in Agile World_new
Cross Browser Testing Using LambdaTest | Edureka
Test Automation and Selenium
Selenium - Introduction
Software Testing Introduction
Cypress for Testing
API Testing. Streamline your testing process.
Cypress Automation
Types of testing
Basic software-testing-concepts
Role Of Qa And Testing In Agile 1225221397167302 8
ISTQB Foundation Level Basic
Software Testing Life Cycle
Postman.ppt
Ad

Similar to Introduction to SDET (20)

PPSX
Introduction to software testing
PDF
Software testing
DOCX
Faq
PPT
Software testing
DOCX
CHAPTER 15Security Quality Assurance TestingIn this chapter yo
PPT
Software Testing Presentation in Cegonsoft Pvt Ltd...
PPTX
Software Quality Assurance
PDF
Advance Software Engineering notes for ME students
PPTX
Ppt 2 testing throughout the software life cycle
PDF
Feb 2013Lesson 38 Software Acquisition Development
PPT
Testing Types And Models
PPT
'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer
PDF
ISTQB-Foundation-Flashcards For Learning.pdf
PDF
Enterprise performance engineering solutions
PDF
Software testing for project report .pdf
PDF
Testing: an Introduction and Panorama
PPTX
UNIT-1-INTRO.pptxsqa assurance testing sqa
PDF
Software testing
PPT
Testing and Mocking Object - The Art of Mocking.
PPTX
Software Testing (1).pptx
Introduction to software testing
Software testing
Faq
Software testing
CHAPTER 15Security Quality Assurance TestingIn this chapter yo
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Quality Assurance
Advance Software Engineering notes for ME students
Ppt 2 testing throughout the software life cycle
Feb 2013Lesson 38 Software Acquisition Development
Testing Types And Models
'Architecture Testing: Wrongly Ignored!' by Peter Zimmerer
ISTQB-Foundation-Flashcards For Learning.pdf
Enterprise performance engineering solutions
Software testing for project report .pdf
Testing: an Introduction and Panorama
UNIT-1-INTRO.pptxsqa assurance testing sqa
Software testing
Testing and Mocking Object - The Art of Mocking.
Software Testing (1).pptx
Ad

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Encapsulation theory and applications.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars
Encapsulation theory and applications.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Understanding_Digital_Forensics_Presentation.pptx
Unlocking AI with Model Context Protocol (MCP)
Chapter 3 Spatial Domain Image Processing.pdf
Big Data Technologies - Introduction.pptx
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Agricultural_Statistics_at_a_Glance_2022_0.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Monthly Chronicles - July 2025
Machine learning based COVID-19 study performance prediction
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Introduction to SDET

  • 3. SDET is an IT professional who can work equally effectively in development and testing roles. Full form of SDET is Software Development Engineer in Test and he/she takes part in the complete software development process. An SDET's professional's knowledge is entirely focused on testability, robustness, and performance. They are also able to play a contributory or reviewer role in the creation of designs for production software.
  • 4. History • Introduced by Microsoft • Widely popularized when Google followed suit after Microsoft • Introduced to bridge the Gap between Development (Technical) vs Product (Functional, Generally POs and the tester) • SDET are in the Techno Functional space between the product and development team, Having a good knowledge of Functionality as well as the code that drives it
  • 5. SDET vs Traditional QA While the roles of SDETs may seem very similar to those of QA Automation Engineers, with even most of the tools and language expertise required being same (Selenium, Java, and Jenkins), there are certain obvious and clear differences between the two roles. An SDET, in layman terms, is a developer who instead of working in the product development team, works as part of the test team. SDETs are responsible not only for writing code but are required to test the code as well. SDETs are required to continuously write, test, and fix the code they write. Their roles and responsibilities are based on the Agile lifecycle model. SDETs usually are professionals who have very strong analytical, technical, and problem-solving skills.
  • 6. When is it Beneficial over Traditional QA Essentially, the SDET is a Full stack tester. An SDET is expected to be able to find bottlenecks in the code, can be deployed to hunt issues ranging from Code Quality, Design, Scalability and NFRs and builds an overall framework (Not always technical) and executes it to discover an issue. A QE, broadens it past the conventional extension by including unit tests and parts of white box testing, thereby bringing in the best of both worlds, a flavor of Code in Unit testing and Full-blown tests of traditional QA methods
  • 7. NFR (Nonfunctional Requirements) Also known as system qualities, nonfunctional requirements are just as critical as functional Epics, Capabilities, Features, and Stories. They ensure the usability and effectiveness of the entire system. Nonfunctional Requirements (NFRs) define system attributes such as security, reliability, performance, maintainability, scalability, and usability. They serve as constraints or restrictions on the design of the system across the different backlogs.
  • 8. Benchmarking Internal benchmarking is a comparison of a business process to a similar process inside the organization. Competitive benchmarking is a direct competitor-to- competitor comparison of a product, service, process, or method. Functional benchmarking is a comparison to similar or identical practices within the same or similar functions outside the immediate industry. Generic benchmarking broadly conceptualizes unrelated business processes or functions that can be practiced in the same or similar ways regardless of the industry. Benchmarking is a process of setting a standard for a software which can be used to relatively measure a performance for the software.
  • 9. Metrics The process of benchmarking leads us with lot of standard values that can be used to measure the improvement or degradation in the system being tested. We use a lot of Performance and Time-based metrics to decide the quality and reliability of the code, These Metrics generally also give us a very clear picture of the Nonfunctional Requirements being adhered to and tested on at a system level.
  • 10. Reliability Reliability means "yielding the same," in other terms, the word "reliable" means something is dependable and that it will give the same outcome every time. The same is true for Reliability testing. Reliability testing in software assures that the product is fault free and is reliable for its intended purpose. How to Inspect reliability of a system? Test Retest Reliability Parallel Action Reliability
  • 11. Robustness The word robust, when used regarding a software, refers to an operating system or other program that performs well not only under ordinary conditions but also under unusual conditions that stress its designers' assumptions. Robustness is something that should be designed into software from the ground up, it is not something that can be successfully tacked on later.
  • 12. Fuzz Testing to Examine Robustness Fuzz testing is a technique that deals with robustness test for any software application, which is a way to inject random, unexpected input values to the system to verify whether the application crashes or if there’s any memory leak. Sometimes the inputs reflect certain behavior that bring out some unexpected results which might divert our attention to some new aspect that may help us explore a new dimension.
  • 13. Performance As a general definition, performance measures how effective is a software system with respect to time constraints and allocation of resources.
  • 14. Facets of Perf Testing Load testing - checks the application's ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the software application goes live. Stress testing - involves testing an application under extreme workloads to see how it handles high traffic or data processing. The objective is to identify the breaking point of an application. Endurance testing - is done to make sure the software can handle the expected load over a long period of time. Spike testing - tests the software's reaction to sudden large spikes in the load generated by users.
  • 15. Maintainability In engineering, maintainability is the ease with which a product can be maintained in order to: • correct defects or their cause, • repair or replace faulty or worn-out components without having to replace still working parts, • meet new requirements, • make future maintenance easier Maintainability involves a system of continuous improvement - learning from the past in order to improve the ability to maintain systems or improve reliability of systems based on maintenance experience.
  • 16. The 4 categories of maintainability test are: • Corrective maintenance tests: The system is measured to diagnose and fix the problems as soon as it is identified. • Perfective maintenance tests: The system is measured in terms of time taken to make the effort for enhancements. • Adaptive maintenance tests: It is for adapting the changes in the environment. • Preventive maintenance tests: It is to reduce the future maintenance costs.
  • 17. Scalability Scalability is the property of a system to handle a growing amount of work by adding resources to the system. The main objective of this is to determine when an application starts to degrade at a maximum load and take proper steps to ensure that the developed application is scalable enough to accommodate the changes in the internal applications, software, hardware and the database changes in the future.
  • 18. Usability Usability is the ease of use and learnability of a human-made object such as a tool or device. In software engineering, usability is the degree to which a software can be used by specified consumers to achieve quantified objectives with effectiveness, efficiency, and satisfaction in a quantified context of use. The philosophy behind this is that a piece of software should be intuitive and could be easily utilized by someone new or not fully acquainted by the application
  • 19. What do we bring to the Table? Understanding of the systems functionality. Good understanding of the code and implementation techniques used. Birds eye view of the system. Solid understanding of the NFRs of the system. A sound knowledge of automation techniques to assist the developer in developing reliable code. Ability to pivot from a QA to Dev in case some extra help is needed.