SlideShare a Scribd company logo
Non-functional Test
Automation Approach
By Yakovlev Pavlo
pyak@ciklum.com
Consider example of the "User
Behavioral Firewall" (UBF)
Product Mission:
1. Detect and Prevent Threats inside Enterprise Networks
2. Protect Active Directory Infrastructure
3. Raise Efficiency of Attack Detection Metrics (only 4% from
16k Alerts per week can be investigated by Security Staff)
3.1. Across Automated “Confirmed Attack” Category
Source: LightCyber.com
Non-functional Test Automation Approach
Initial Technology Stack Overview for manual testing:
ldapsearch tool - interface to perform LDAP search operations on windows domains
krb5 tool - dump kerberos tickets
tcpdump or Wireshark tool - a network protocol analyzer
SMBclient - client for MS SharePoint service
python command line scripts - such as PyKEK (Python Kerberos Exploitation Kit) & etc.
metasploit - remote shell for Windows workstations
powerview - powershell script to gain network situational awareness on windows domains
Robomongo - MongoDB management tool
Approach for
automation
Simulate the different scenarios
of security rules
Pre-conditions for testing:
● User types (human or service)
● Endpoint [EP] roles (workstation
or server)
● User’s associations with EPs
and Services
● Inactive User Accounts
● Stale/Shared EPs1. Have possibility to set pre-conditions manually from
console
2. Working with configuration files and system logs
3. Capture network packages by host (KDC)
Test Automation
Framework
One popular implementation of
sequential program composition
is called a Pipeline
We decided to use approach similar to a
Pipeline. This solution ensures possibility to
run each tool as step by step in TAF and
manually by QA engineer.
Pytest Runner => Bash script =>
Metasploit as Remote shell =>
Powershell
1. How to deliver the test to endpoint -> upload file or
load the exploit to memory?
2. Using porting approach (e.g. python libs) or
Third-party tools for each OS?
Challenges of Automation
1. QA Environment - endpoints with different roles* and OS
2. Test fixtures for 2 modes: Proxy and Sniffer (communication with linux
services and directly with mongoDB)
3. Using KRBR tokens of different user accounts on windows endpoint
4. Mock Applications for Authorization in Policy Settings
5. Bootstrap script to set up new QA Environment (Windows Active Directory)
6. Mock workstations to emulate Daily Volume Anomaly for user
*Endpoint Roles: managed/unmanaged, resolved/not resolved, IMPERSONATOR / not IMPERSONATOR
Non-functional Test Automation Approach
Conclusion
1. If you're using third-party tools you should add their to bootstrap script
2. Using command line script to set pre-conditions manually
3. Keep own test log with start arguments, e.g. sys.argv[1:]
4. Think about manual debug - e.g. using 'shell' option for your scripts
5. For testing of all date sensitive functionality you should make time travel into
the future or past that ask your customer how you will do that
>e.g. for checking policy rule for inactive user we stop AD-scraper* service and
change lastKnownLogonTime …
6. Synchronize Domain Controllers after changes, e.g. repadmin /syncall
*AD-scraper service keeps data from Active Directory
Future plans
Using Asynchronous testing approach with Future[Assertion]*
● Cannot re-use a shared fixture before / after each test
● If one test is aborted with any exception we should stop all suites
● Avoid of concurrent using remote shell connections
● Future[Assertion] like wait some data in MongoDB by query every N sec.
*e.g. using plugin pytest-asyncio

More Related Content

PPT
A Practical Event Driven Model
PPT
Automated Malware Analysis
PDF
PostgreSQL: present and near future
PPTX
PDF
Rails初心者レッスン lesson1 2edition
PPT
Automated Regression Testing for Embedded Systems in Action
PPTX
Metasploit - Basic and Android Demo
DOCX
Qtp basics
A Practical Event Driven Model
Automated Malware Analysis
PostgreSQL: present and near future
Rails初心者レッスン lesson1 2edition
Automated Regression Testing for Embedded Systems in Action
Metasploit - Basic and Android Demo
Qtp basics

Similar to Non-functional Test Automation Approach (20)

DOCX
Qtp basic
PDF
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
PDF
CSCAMP2013 - Introduction to pwnCore
PPTX
OMA Lightweight M2M
PPTX
When third parties stop being polite... and start getting real
PPTX
Topic 2. Fundamentals of Malware Analysis .pptx
DOCX
Arun Prasad-R.DOCX
PPTX
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
PDF
Pro smartbooksquestions
PDF
When Third Parties Stop Being Polite... and Start Getting Real
PDF
Fluent 2018: When third parties stop being polite... and start getting real
DOC
Automation using ibm rft
PDF
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
DOCX
Backtrack Manual Part6
PDF
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
PDF
Scale and Load Testing of Micro-Service
PDF
Java Performance & Profiling
PDF
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
PDF
Ginsbourg.com - Performance and Load Test Report Template LTR 1.5
PPTX
Hunting for APT in network logs workshop presentation
Qtp basic
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
CSCAMP2013 - Introduction to pwnCore
OMA Lightweight M2M
When third parties stop being polite... and start getting real
Topic 2. Fundamentals of Malware Analysis .pptx
Arun Prasad-R.DOCX
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
Pro smartbooksquestions
When Third Parties Stop Being Polite... and Start Getting Real
Fluent 2018: When third parties stop being polite... and start getting real
Automation using ibm rft
IRJET- Real Time Monitoring of Servers with Prometheus and Grafana for High A...
Backtrack Manual Part6
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Scale and Load Testing of Micro-Service
Java Performance & Profiling
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
Ginsbourg.com - Performance and Load Test Report Template LTR 1.5
Hunting for APT in network logs workshop presentation
Ad

Recently uploaded (20)

PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Transform Your Business with a Software ERP System
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Introduction to Artificial Intelligence
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
medical staffing services at VALiNTRY
PDF
Nekopoi APK 2025 free lastest update
PPT
Introduction Database Management System for Course Database
PDF
top salesforce developer skills in 2025.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
L1 - Introduction to python Backend.pptx
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
Odoo Companies in India – Driving Business Transformation.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Transform Your Business with a Software ERP System
Digital Systems & Binary Numbers (comprehensive )
How to Choose the Right IT Partner for Your Business in Malaysia
Introduction to Artificial Intelligence
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Wondershare Filmora 15 Crack With Activation Key [2025
medical staffing services at VALiNTRY
Nekopoi APK 2025 free lastest update
Introduction Database Management System for Course Database
top salesforce developer skills in 2025.pdf
CHAPTER 2 - PM Management and IT Context
L1 - Introduction to python Backend.pptx
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
VVF-Customer-Presentation2025-Ver1.9.pptx
Ad

Non-functional Test Automation Approach

  • 1. Non-functional Test Automation Approach By Yakovlev Pavlo pyak@ciklum.com
  • 2. Consider example of the "User Behavioral Firewall" (UBF) Product Mission: 1. Detect and Prevent Threats inside Enterprise Networks 2. Protect Active Directory Infrastructure 3. Raise Efficiency of Attack Detection Metrics (only 4% from 16k Alerts per week can be investigated by Security Staff) 3.1. Across Automated “Confirmed Attack” Category
  • 5. Initial Technology Stack Overview for manual testing: ldapsearch tool - interface to perform LDAP search operations on windows domains krb5 tool - dump kerberos tickets tcpdump or Wireshark tool - a network protocol analyzer SMBclient - client for MS SharePoint service python command line scripts - such as PyKEK (Python Kerberos Exploitation Kit) & etc. metasploit - remote shell for Windows workstations powerview - powershell script to gain network situational awareness on windows domains Robomongo - MongoDB management tool
  • 6. Approach for automation Simulate the different scenarios of security rules Pre-conditions for testing: ● User types (human or service) ● Endpoint [EP] roles (workstation or server) ● User’s associations with EPs and Services ● Inactive User Accounts ● Stale/Shared EPs1. Have possibility to set pre-conditions manually from console 2. Working with configuration files and system logs 3. Capture network packages by host (KDC)
  • 7. Test Automation Framework One popular implementation of sequential program composition is called a Pipeline We decided to use approach similar to a Pipeline. This solution ensures possibility to run each tool as step by step in TAF and manually by QA engineer. Pytest Runner => Bash script => Metasploit as Remote shell => Powershell 1. How to deliver the test to endpoint -> upload file or load the exploit to memory? 2. Using porting approach (e.g. python libs) or Third-party tools for each OS?
  • 8. Challenges of Automation 1. QA Environment - endpoints with different roles* and OS 2. Test fixtures for 2 modes: Proxy and Sniffer (communication with linux services and directly with mongoDB) 3. Using KRBR tokens of different user accounts on windows endpoint 4. Mock Applications for Authorization in Policy Settings 5. Bootstrap script to set up new QA Environment (Windows Active Directory) 6. Mock workstations to emulate Daily Volume Anomaly for user *Endpoint Roles: managed/unmanaged, resolved/not resolved, IMPERSONATOR / not IMPERSONATOR
  • 10. Conclusion 1. If you're using third-party tools you should add their to bootstrap script 2. Using command line script to set pre-conditions manually 3. Keep own test log with start arguments, e.g. sys.argv[1:] 4. Think about manual debug - e.g. using 'shell' option for your scripts 5. For testing of all date sensitive functionality you should make time travel into the future or past that ask your customer how you will do that >e.g. for checking policy rule for inactive user we stop AD-scraper* service and change lastKnownLogonTime … 6. Synchronize Domain Controllers after changes, e.g. repadmin /syncall *AD-scraper service keeps data from Active Directory
  • 11. Future plans Using Asynchronous testing approach with Future[Assertion]* ● Cannot re-use a shared fixture before / after each test ● If one test is aborted with any exception we should stop all suites ● Avoid of concurrent using remote shell connections ● Future[Assertion] like wait some data in MongoDB by query every N sec. *e.g. using plugin pytest-asyncio