16 грудня 2021 року відбувся GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Personal Skill”! Анатолій Сахно (Software Testing Consultant, GlobalLogic) розібрав принципи TDD (розробки, керованої тестами) та приклади їх застосування. Крім того, поговорили про:
- Ефективне використання модульних тестів у повсякденних задачах;
- Використання TDD при розробці тестових фреймворків;
- Застосування принципів TDD при написанні функціональних автотестів.
Більше про захід: https://www.globallogic.com/ua/about/events/globallogic-test-automation-online-techtalk-test-driven-development-as-a-personal-skill/
Приємного перегляду і не забудьте залишити коментар про враження від TechTalk!
Ця активність — частина заходів в рамках GlobalLogic Test Automation Advent Calendar, ще більше заходів та цікавинок за посиланням: https://bit.ly/AdventCalendar_fb
Better Security Testing: Using the Cloud and Continuous DeliveryGene Gotimer
Even though many organizations claim that security is a priority, that claim doesn’t always translate into supporting security initiatives in software development or test. Security code reviews often are overlooked or avoided, and when development schedules fall behind, security testing may be dropped to help the team “catch up.” Everyone wants more secure development; they just don’t want to spend time or money to get it. Gene Gotimer describes his experiences with implementing a continuous delivery process in the cloud and how he integrated security testing into that process. Gene discusses how to take advantage of the automated provisioning and automated deploys already being implemented to give more opportunities along the way for security testing without schedule disruption. Learn how you can incrementally mature a practice to build security into the process—without a large-scale, time-consuming, or costly effort.
Better Security Testing: Using the Cloud and Continuous DeliveryGene Gotimer
Even though many organizations claim that security is a priority, that claim doesn’t always translate into supporting security initiatives in software development or test. Security code reviews often are overlooked or avoided, and when development schedules fall behind, security testing may be dropped to help the team “catch up.” Everyone wants more secure development; they just don’t want to spend time or money to get it. Gene Gotimer describes his experiences with implementing a continuous delivery process in the cloud and how he integrated security testing into that process. Gene discusses how to take advantage of the automated provisioning and automated deploys already being implemented to give more opportunities along the way for security testing without schedule disruption. Learn how you can incrementally mature a practice to build security into the process—without a large-scale, time-consuming, or costly effort.
Jiangping Xu, Microsoft
With a rapid growing of M365 Office customers, the security scanning coverage has been tripled in years and it keeps scaling. Making all Office service machines compliant and security patching up to date within different product environments is challenging and require a growing mindset and scalable engineering solution. In this session, we introduce approaches and security scanning infrastructures we build to support large scale of service machines. We will discuss how to detect unhealthy scanners and hosts across M365 services and how to make monitoring and alerts intelligent and action based.
I have helped more than 100 customers build new and innovative services for their customers with the help of IoT technology. With this slides, I share the lessons learned working with these customers as they start a journey into improved digitalization. My focus is on IT operations and project management.
Using Kubernetes to make cellular data plans cheaper for 50M usersMirantis
Use case of Kubernetes based NFV infrastructure used in production to run an open source evolved packet core. Presented by Facebook Connectivity and Mirantis at KubeCon + CloudNativeCon Europe 2020.
KMIP stands for key management interoperability protocol. Provides simple binary and TTLV variant protocol to manage various cryptographic key cycles for enterprise needs viz., for enterprise applications, data encryption etc.
Karen Easterbrook, Microsoft
Brian LaMacchia, Microsoft
Quantum computers may be 10 years away, but well-funded adversaries are already preparing for their arrival. Even if they can’t read high-value encrypted traffic today, they are recording and storing for when they can decrypt it in the future. If your secrets need to be protected for more than 10 years, you need to take action now. In this talk, we will explore how sufficiently large quantum computers will catastrophically break all public-key cryptography commonly used today, the overall scope of this threat, and the steps underway to develop and deploy quantum-resistant replacement algorithms and security protocols. We will introduce the code and tools that you can use today to fend off these future advanced threats.
Testing in a Continuous Delivery Pipeline - Better, Faster, CheaperGene Gotimer
The continuous delivery pipeline is the process of taking new or changed features from developers, and getting features deployed into production and delivered quickly to the customer. Gene Gotimer says testing within continuous delivery pipelines should be designed so the earliest tests are the quickest and easiest to run, giving developers the fastest feedback. Successive rounds of testing lead to increased confidence that the code is a viable candidate for production and that more expensive tests—time, effort, cost—are justified. Manual testing is performed toward the end of the pipeline, leaving computers to do as much work as possible before people get involved. Although it is tempting to arrange the delivery pipeline in phases (e.g., functional tests, then acceptance tests, then load and performance tests, then security tests), this can lead to serious problems progressing far down the pipeline before they are caught. Gene shows how to arrange your tests so each round provides just enough testing to give you confidence that the next set of tests is worth the investment. He explores how to get the right types of testing into your pipeline at the right points.
Learn how this Black Duck customer tracks the potential impact of open source security vulnerabilities in all its products while ensuring the SDLC remains fast and agile.
Slides from webinar by Mirantis about how to build a basic edge cloud using surveillance cameras. Watch the webinar recording at: https://bit.ly/mirantis-edge-cloud
Observability and more architecture next 2020Alon Fliess
You have a mature development process, and you also embrace DevOps. Your development team uses agile methodology. You use Git, and you have a continuous dev, test, deployment, everything process. But do you sleep well at night? Do you know that your services are up and running? That there are no availability, performance, and stability problems? Do you know if your customers are happy?
The answer to all of those questions is precisely what APM systems provide.
Application Performance Monitoring systems have become the IDE of the Site Reliability Engineers (SRE) and, as a matter of fact, for the all DevOps team, including the Dev part. In this lecture, you will get to know the essence of the APM systems, the good, the bad, and the vision about their future.
Stopping the Rot - Putting Legacy C++ Under TestSeb Rose
Presentation given at the ACCU 2011 Conference in Oxford, UK.
Case study of applying unit test to the DOORS codebase. Includes a quick overview of unit test & the Google Test and Mock libraries. Also 3 specific refactoring examples shown.
Jiangping Xu, Microsoft
With a rapid growing of M365 Office customers, the security scanning coverage has been tripled in years and it keeps scaling. Making all Office service machines compliant and security patching up to date within different product environments is challenging and require a growing mindset and scalable engineering solution. In this session, we introduce approaches and security scanning infrastructures we build to support large scale of service machines. We will discuss how to detect unhealthy scanners and hosts across M365 services and how to make monitoring and alerts intelligent and action based.
I have helped more than 100 customers build new and innovative services for their customers with the help of IoT technology. With this slides, I share the lessons learned working with these customers as they start a journey into improved digitalization. My focus is on IT operations and project management.
Using Kubernetes to make cellular data plans cheaper for 50M usersMirantis
Use case of Kubernetes based NFV infrastructure used in production to run an open source evolved packet core. Presented by Facebook Connectivity and Mirantis at KubeCon + CloudNativeCon Europe 2020.
KMIP stands for key management interoperability protocol. Provides simple binary and TTLV variant protocol to manage various cryptographic key cycles for enterprise needs viz., for enterprise applications, data encryption etc.
Karen Easterbrook, Microsoft
Brian LaMacchia, Microsoft
Quantum computers may be 10 years away, but well-funded adversaries are already preparing for their arrival. Even if they can’t read high-value encrypted traffic today, they are recording and storing for when they can decrypt it in the future. If your secrets need to be protected for more than 10 years, you need to take action now. In this talk, we will explore how sufficiently large quantum computers will catastrophically break all public-key cryptography commonly used today, the overall scope of this threat, and the steps underway to develop and deploy quantum-resistant replacement algorithms and security protocols. We will introduce the code and tools that you can use today to fend off these future advanced threats.
Testing in a Continuous Delivery Pipeline - Better, Faster, CheaperGene Gotimer
The continuous delivery pipeline is the process of taking new or changed features from developers, and getting features deployed into production and delivered quickly to the customer. Gene Gotimer says testing within continuous delivery pipelines should be designed so the earliest tests are the quickest and easiest to run, giving developers the fastest feedback. Successive rounds of testing lead to increased confidence that the code is a viable candidate for production and that more expensive tests—time, effort, cost—are justified. Manual testing is performed toward the end of the pipeline, leaving computers to do as much work as possible before people get involved. Although it is tempting to arrange the delivery pipeline in phases (e.g., functional tests, then acceptance tests, then load and performance tests, then security tests), this can lead to serious problems progressing far down the pipeline before they are caught. Gene shows how to arrange your tests so each round provides just enough testing to give you confidence that the next set of tests is worth the investment. He explores how to get the right types of testing into your pipeline at the right points.
Learn how this Black Duck customer tracks the potential impact of open source security vulnerabilities in all its products while ensuring the SDLC remains fast and agile.
Slides from webinar by Mirantis about how to build a basic edge cloud using surveillance cameras. Watch the webinar recording at: https://bit.ly/mirantis-edge-cloud
Observability and more architecture next 2020Alon Fliess
You have a mature development process, and you also embrace DevOps. Your development team uses agile methodology. You use Git, and you have a continuous dev, test, deployment, everything process. But do you sleep well at night? Do you know that your services are up and running? That there are no availability, performance, and stability problems? Do you know if your customers are happy?
The answer to all of those questions is precisely what APM systems provide.
Application Performance Monitoring systems have become the IDE of the Site Reliability Engineers (SRE) and, as a matter of fact, for the all DevOps team, including the Dev part. In this lecture, you will get to know the essence of the APM systems, the good, the bad, and the vision about their future.
Stopping the Rot - Putting Legacy C++ Under TestSeb Rose
Presentation given at the ACCU 2011 Conference in Oxford, UK.
Case study of applying unit test to the DOORS codebase. Includes a quick overview of unit test & the Google Test and Mock libraries. Also 3 specific refactoring examples shown.
This was a workshop given on the UTN University, for the Software Engineering students. The idea is to give a brief explanation about TDD, and how to use it.
В ходе доклада мы обсудим такие виды тестирования как:
- юнит тестирование,
- тестирование верстки,
- e2e-тестирование,
- тестирование производительности для FE
Также мы коснемся таких фундаментальных вещей, как:
- Что такое F.I.R.S.T
- Где заканчивается ответственность разработчика и начинает - ответственность QA инженера
- Как договариваться с бэкенд разработчиками
- И конечно, почему тесты нужны.
Most developers have the responsibility of working with an existing codebase that is not testable. In this session, you will learn several techniques to refactoring non testable code. In addition, unit tests will be added and executed as a part of an automated test suite. The associated code/project is here: https://github.com/rightincode/RefactoringToTestableCode
Software construction is an exercise in managing complexity, more so with the spiralling complexity required by modern games. Automated Testing is an industry proven methodology to deliver more reliable complex software, with a fighting chance to do it on time and on budget. And having fun doing so. Crytek is spearheading this idea in the game industry with its flagship title, and now sharing the experience with you: best practices, potential pitfalls, To-Do’s and No-No’s will be shown with real examples of unit testing game code using its proprietary testing framework and tools. Functional Testing and acceptance testing will also be touched on as a viable way of describing and checking game design requirements. And take automated testing to the next level.
Shai Raiten's talk at the SELA Developer Practice (May 2013) about Advanced Coded UI using Visual Studio 2012. This presentation explain how to work with multiple UI maps, how to use various types of data sources, how to use LINQ and Reflection for project refactoring, and how to create and use logs and traces.
Similar to GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Personal Skill” (20)
GlobalLogic Embedded Community x ROS Ukraine Webinar "Surgical Robots"GlobalLogic Ukraine
Доповідь присвячена медицині майбутнього, малоінвазивній хірургії: розглянемо рішення із використанням роботів хірургів. Оглянемо інструментарій та звернемо увагу на речі, які можна відтворити для експериментів у домашніх умовах.
GlobalLogic Java Community Webinar #17 “SpringJDBC vs JDBC. Is Spring a Hero?”GlobalLogic Ukraine
Доповідь присвячена розгляду Spring JDBC у порівнянні зі стандартним JDBC у Java. Спікерка покаже на конкретних прикладах розподіл логіки коду за класами та як використання Spring JDBC скорочує кількість коду, який необхідно написати, і чому це відбувається.
Відео та деталі заходу: https://bit.ly/3wqEjCx
GlobalLogic JavaScript Community Webinar #18 “Long Story Short: OSI Model”GlobalLogic Ukraine
Ця доповідь зацікавить усіх, хто хоче заповнити прогалини у базових знаннях чи підтягнути теорію з університету. Під час доповіді ми дізнаємось, що таке модель OSI та розглянемо кожен її рівень. Як результат, ви краще розумітимете свою область відповідальності як Front-end, Back-end, DevOps чи системний адміністратор.
Відео та деталі заходу: https://bit.ly/47T4QWI
Штучний інтелект як допомога в навчанні, а не замінник.pptxGlobalLogic Ukraine
Про що лекція:
- Як використовувати штучний інтелект у навчанні
- Обмеження та недоліки використання AI
- Рекомендації щодо відповідального використання AІ в навчанні. Огляд кращих прикладів.
Спікер: Оксана Поморова — Lead Software Engineer, GlobalLogic, доктор технічних наук з 20-річним досвідом в IT. Напрям діяльності — застосування штучного інтелекту та комп’ютерний зір.
Задачі AI-розробника як застосовується штучний інтелект.pptxGlobalLogic Ukraine
Про що лекція:
- Пошук схожих зображень за допомогою ШІ
- Як ШІ видаляє задній фон на фото. Розв’язання задачі сегментації.
- Ефективне навчання ШІ на основі великого масиву даних (фото).
Спікер: Олександр Мірошниченко, Senior Software Engineer, має понад 7 років досвіду в ІТ. Напрям діяльності — нейронні мережі та Deep Learning.
Що треба вивчати, щоб стати розробником штучного інтелекту та нейромереж.pptxGlobalLogic Ukraine
Про що лекція:
- Що таке штучний інтелект зсередини та чим зумовлена його популярність
- Напрями розвитку штучного інтелекту: які є та як обрати свій
- Які знання необхідні, щоб стати розробником штучного інтелекту
Спікер: Василь Ляшкевич — Solution Architect, GlobalLogic, PhD в компʼютерних науках, має понад 15 років досвіду в ІТ. Напрям діяльності — розробка алгоритмів і засобів штучного інтелекту, хмарних систем та сервісів.
GlobalLogic Java Community Webinar #16 “Zaloni’s Architecture for Data-Driven...GlobalLogic Ukraine
20 липня відбувся вебінар від Java Community – “Zaloni’s Architecture for Data-Driven Design” by Максим Дем’яновський — Software Engineer, GlobalLogic.
Доповідь надасть уявлення про Data-Driven Design, основні його переваги і практичну користь, а також покаже як його можна реалізувати на практиці.
25 квітня відбувся вебінар від JavaScript Community – “Why Is Git Rebase?”
Ганна Ліхтман — Senior Software Engineer, GlobalLogic.
Під час вебінару дізнались, що таке git history, та чому важливо тримати її в чистоті і порядку. Яка різниця між merge та rebase. Що таке інтерактивний rebase та в чому його сила не тільки на словах, але й на практиці.
GlobalLogic .NET Community Webinar #3 "Exploring Serverless with Azure Functi...GlobalLogic Ukraine
29 березня відбувся вебінар від .NET Community – “Exploring Serverless with Azure Functions”.
Спікер: Євген Павленко – Senior Software Engineer, GlobalLogic.
Поговорили на ті теми:
- Вступ до Azure Functions та Serverless;
- Типи хмарного обчислення;
- Переваги serverless;
- Функції та можливості Azure Functions.
Страх і сила помилок - IT Inside від GlobalLogic EducationGlobalLogic Ukraine
Ви дізнаєтесь:
- Що знаходиться за кулісами успішного успіху;
- Страх, що контролює тебе та робота з ним;
- Звідки береться невпевненість у власних силах;
- Чого власні помилки демотивують.
ℹ️IT Inside — це серія 30-хвилинних лекцій для охочих розпочати кар'єру в ІТ. Наші експерти відкриють залаштунки айтішного життя, обговорять поширені думки про ІТ-сферу й розкажуть те, що самі б хотіли почути на старті кар'єри.
🎬Переглянути записи попередніх лекцій IT Inside (https://youtube.com/playlist?list=PLipGbz33Ay3H5ynlB0YQ6P-16IX-pRvce).
GlobalLogic .NET Webinar #2 “Azure RBAC and Managed Identity”GlobalLogic Ukraine
24 листопада відбувся вебінар від .NET Community – “Azure RBAC and Managed Identity”.
Спікер: Євген Павленко – Senior Software Engineer, GlobalLogic.
Розповіли, що таке Azure RBAC (Role Base Access Control) і як він працює, для чого нам Azure Managed Identity та як звільнитись від використання паролів-секретів при використанні Azure.
Деталі заходу: https://bit.ly/3GSBvRx
Відкриті .NET-позиції у GlobalLogic: https://bit.ly/3ilJYCq
Долучитись до .NET Community у Facebook: https://www.facebook.com/groups/communitydotnet
GlobalLogic QA Webinar “What does it take to become a Test Engineer”GlobalLogic Ukraine
We considered:
- What attracts you to testing?
- What set of skills does the tester need?
- How to find your niche?
- Truth and fiction about testing
- Resume as a way to success
- Recommended materials
Discussed the capabilities, advantages and disadvantages of Keycloak, made a basic understanding of how it can be applied and integrated into various systems.
Speaker - Ihor Didyk, Software Engineer, GlobalLogic.
GlobalLogic Machine Learning Webinar “Advanced Statistical Methods for Linear...GlobalLogic Ukraine
31 травня відбувся вебінар для ML-спеціалістів - “Advanced Statistical Methods for Linear Regression” від спікера Віталія Мірошниченка! Ця доповідь для тих, хто добре ознайомлений із найпоширенішими моделями даних та підходами у машинному навчанні і хоче розширити знання іншими підходами.
У доповіді ми розглянули:
- Нагадування. Модель лінійної регресії і підгонка параметрів;
- Навчання батчами (великі об’єми вибірок);
- Оптимізація розрахунків у каскаді моделей;
- Модель суміші лінійних регресій;
- Оцінки методом складеного ножа матриць коваріацій.
Про спікера:
Віталій Мірошниченко — Senior ML Software Engineer, GlobalLogic. Має більше 6 років досвіду, який отримав здебільшого на проєктах, пов’язаних із Telecom, Cyber security, Retail. Активний учасник змагань Kaggle, та Аспірант КНУ.
Деталі заходу: https://bit.ly/3HkqhDB
Відкриті ML позиції у GlobalLogic: https://bit.ly/3MPC9yo
GlobalLogic Machine Learning Webinar “Statistical learning of linear regressi...GlobalLogic Ukraine
24 травня відбувся GlobalLogic Machine Learning Webinar “Statistical learning of linear regression model” від спікера Віталія Мірошніченка.
Під час вебінару ми обговорили такі теми:
- Модель лінійної регресії;
- Підгонка параметрів моделі (custom, sklearn, scipy);
- Основні теореми та асимптотика параметрів;
- Дискриптивні статистики (візуалізація результатів);
- Тести та їх інтерпретація;
- Приклади з Machine Learning.
Відео та деталі заходу - https://www.globallogic.com/ua/about/events/statistical-learning-of-linear-regression-model/?utm_source=youtube-organic&utm_medium=social&utm_campaign=statistical-learning-of-linear-regression-model
Попередня реєстрація на GL BaseCamp - https://bit.ly/BaseCampwaitinglist
GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer”GlobalLogic Ukraine
18 травня відбувся GlobalLogic C++ Webinar “The Minimum Knowledge to Become a C++ Developer” від спікера Романа Івасишина.
У доповіді ми розглянули:
- Список тем, які повинен знати С++ розробник (синтаксис мови, класи, STL, а також дізнались, для чого вчити темплейти та багатопотоковість);
- На що потрібно звернути увагу при вивченні мови;
- Деякі приховані аспекти мови;
- Практичні приклади з С++.
Відео та деталі заходу: https://bit.ly/3Gxmkee
Приєднатись до спільноти: https://www.facebook.com/groups/EmbeddedCommunity
Відкриті C++ позиції у GlobalLogic: https://bit.ly/3GzW03c
22 лютого відбувся Embedded Webinar #17 “Low-level Network Testing in Embedded Devices Development” від спікера Сергія Корнієнка.
Під час вебінару ми говорили на такі теми:
- Підхід до низькорівневого тестування мережевих протоколів;
- Інструменти, які можна використати в реальних проєктах;
- Знайдені баги та способи знаходження корневих причин на прикладі реального R&D проєкту.
Відео та деталі заходу: https://bit.ly/embedded_webinar_17
Приєднатись до спільноти: https://www.facebook.com/groups/EmbeddedCommunity
Відкриті Embedded-позиції у GlobalLogic: https://bit.ly/Embedded_Positions
11 січня відбувся вебінар “Introduction to Embedded QA”.
Під час вебінару ми поговорили на такі теми:
Огляд вбудованих систем;
Основні складнощі, що виникають під час їх тестування;
Основні напрямки та технології, які необхідно відслідковувати під час роботи з вбудованими системами.
Більше про захід: https://www.globallogic.com/ua/about/events/globallogic-webinar-introduction-to-embedded-qa/
Приємного перегляду і не забудьте залишити коментар про враження від вебінару!
9 грудня відбувся вебінар “Why Should You Learn C++ in 2021-22?”
Розглянули, наскільки популярною є C/C++ і де її можна використовувати. Поговорили про основні переваги та недоліки цієї мови програмування. Розповіли, як розвивається C/C++ і, нарешті, ми зрозуміли, як почати вивчати C/C++.
Більше про захід: https://www.globallogic.com/ua/about/events/c-webinar-why-you-should-learn-c-in-2021-22/
Приємного перегляду і не забудьте залишити коментар про враження від вебінару!
GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing...GlobalLogic Ukraine
В рамках GlobalLogic Test Automation Advent Calendar нещодавно відбувся GlobalLogic Test Automation Live Testing Session “Android Behind UI — Testing Challenges” від Дмитра Токарського, Lead Test Engineer, Quality Assurance, GlobalLogic.
Під час заходу ми говорили про те, як працює Android Debug Bridge, що стоїть за вбудованими фреймворками тестування UI та як спілкуватися з додатками та системою, якщо немає UI. Окремо поговорили про Bluetooth й окреслили бібліотеки Python для роботи с Bluetooth та сервісами Android.
Більше про захід: https://www.globallogic.com/ua/about/events/globallogic-test-automation-live-testing-session-android-behind-ui-testing-challenges/
Приємного перегляду і не забудьте залишити коментар про враження від вебінару!
Ця активність — частина заходів в рамках GlobalLogic Test Automation Advent Calendar, ще більше заходів та цікавинок за посиланням: https://bit.ly/AdventCalendar_fb
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
JMeter webinar - integration with InfluxDB and Grafana
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Personal Skill”
1. 1
Confidential
TDD as a Personal Skill
Anatoliy Sakhno is a Test Architect with a solid background in
Healthcare Quality Assurance and experience in software
development and test automation.
Write a
failing
test
Make it
pass
Refactor
3. 3
Confidential
Integration Test
Fluent and consistent
Test Pyramid
End-to-end Test
Complex, beautiful, and fragile
Unit Test
Solid and valuable
Does the whole system work?
Does our code works against the
code we cannot change?
Do our objects do the right thing,
are they convenient to work with?
*Growing Object-Oriented Software, Guided by Tests 1st Edition by Steve Freeman and Nat
Pryce
9. 9
Confidential
Sluggish debug practices:
Breakpoints
Step-by-step execution
Reuse of e2e tests (as is, or by commenting out the
parts that are out of focus)
Use of temporary tests or scripts
(TestRegistrationDebug.java, temp11.py, etc.)
First Rule of Debugging: Don’t Use the Debugger
10. 10
Confidential
Effective Debug: Make feedback loop even shorter
Unit Test
Meaningful Custom Exception
[Debug] and [Verbose] logging
Clean Code & Patterns-Driven Objects
11. 11
Confidential
Refactoring
• Rename or move code elements
• Extract method (AQA: Extracting methods to BaseTest class is a bad pattern*)
• Extract class (AQA: Extracting classes as Helpers is a bad pattern**)
• Apply design pattern (AQA: DTO, Builders, Factories is your bare minimum)
* Bloated BaseTest is a Large Class antipattern
** Helper name hides the real purpose of a class. Example: DeviceHelper could implement DeviceBuilder,
DeviceFactory, DeviceEmulator, DeviceConfiguration, DeviceDataGenerator or mix of above
Code refactoring is the process of restructuring existing code without changing its external behavior.
12. 12
Confidential
Benefits of having unit tests while coding
• Code execution runs take less time
• Coding focus is not interrupted (flow state makes you more
effective)
• Less metathesiophobia (fear of changes)
• Better code (due to refactoring-friendly environment)
With unit tests the refactoring usually occurs before the code becomes unsupportable
13. 13
Confidential
Quality Gate
TAF quality gate usually includes:
- Some smoke tests;
- A subset (or full set) of integration tests;
- Validation unit tests;
Note: Usually you do have functional test suite which can be
reused as a quality gate for the TAF codebase. But such suites
takes more time to execute and might include unrelated failures.
A quality gate is a set of conditions that needs to be met before you can merge your commit into a
protected branch (for example, the master)
15. 15
Confidential
TDD: create a dedicated test for any task (class) I am going to
spend more than 30 minutes. After debug is done, some delete the
test if you don’t see it’s value for refactoring/quality gate/validation.
Refactor as you go: write a validation/unit test for the objects (API
Wrapper, Business Layer Objects, Configuration Objects (Helpers),
Data Access & Data Generation objects, etc.) which are used by
your tests more than 5 times.
I don’t create tests for simple functions and objects. Also there is no
need to create tests for page objects unless you need to handle untrivial
UI behavior.
My TDD Rules
16. 16
Confidential
TDD Test Automation System Buildout
End-to-end Test
Integration Test (Isolated
API tests)
Framework Validation Unit Test
Does the whole system work?
Does our code works against the
code we cannot change?
Do framework objects do the right
thing, are they convenient to work
with?
22. 22
Confidential
Example: Unit Test as HealthCheck
public class RequestGeneratorValidation {
private User doctor = null;
@BeforeClass(alwaysRun = true)
@Parameters({ "Username", "Password" })
public void BeforeClass(String Username, String Password, ITestContext context) {
doctor = new User(Username, Password);
AppConfig.loadConfig();
}
@Test(groups = { "smoke", "validation", "aws" })
public void validateRequestsGeneratorHealth_Aws() {
AppConfig.setIsAWSMode(true);
RequestGenerator generator = new RequestGenerator(AppConfig.getWebDriver(),
AppConfig.getHospitalUrl());// AWS Device Farm Desktop
assert generator.healthCheck(doctor);
}
@Test(groups = { "smoke", "validation" })
public void validateRequestsGeneratorHealth_Local() {
AppConfig.setIsAWSMode(false);
RequestGenerator generator = new RequestGenerator(AppConfig.getWebDriver(),
AppConfig.getHospitalUrl()); // local selenium driver
assert generator.healthCheck(doctor);
}
}
23. 23
Confidential
Example: Make it work from test (1)
@pytest.mark.validation
def test_advertising_manufacture_data(
device_type=1002,
serial_number=203030142,
expected_manufacture_data="41:45:02:0c:19:f1:7e:3b:ba:03:01:0b",
):
config = EmulatorConfig("config.ini")
device_info = DeviceInfoFactory().create_device_info(
device_type=device_type, firmware_revision=config.firmware_revision
)
manufacture_data = (
struct.pack("HB", config.company_id, device_info.product_id)
+ struct.pack(">L", serial_number)
+ struct.pack(">H", device_type)
+ struct.pack(">L", device_info.firmware_revision)[1:]
)
logging.debug(
f"manufacture_data: {','.join( '0x%02x' %i for i in manufacture_data) }"
)
assert ":".join("%02x" % i for i in manufacture_data) == expected_manufacture_data
24. 24
Confidential
Example: Make it work from test (2)
@pytest.mark.validation
def test_advertising_manufacture_data(
device_type="1002",
serial_number=203030142,
expected_manufacture_data="41:45:02:0c:19:f1:7e:3b:ba:03:01:0b",
):
config = EmulatorConfig("config.ini")
device_info = DeviceInfoFactory().create_device_info(
device_type=device_type, firmware_revision=config.firmware_revision
)
device_info.serial_number = serial_number
emulator = deviceEmulator(
config=config,
device_info=device_info,
)
manufacture_data = emulator.get_advertising_string()
assert ":".join("%02x" % i for i in manufacture_data) == expected_manufacture_data
25. 25
Confidential
Example: Walking Skeleton
A Walking Skeleton is a tiny implementation of the system that performs a small end-to-end function.
interface User {
public User register(Application app);
public void unregister();
public User login();
public void logout();
public Something createSomething(Something something);
public Something modifySomething(Something something);
public void deleteSomething(UUID somethingUuid);
}
public class SomethingTest {
public SomethingTest() {
app = GlobalConfig.getApp();
}
@Test(groups = { "validation", "fake" })
public void mockCreateSomething() {
// arrange
User user = new MockUser("Odike, Prince of Nigeria",
"Odike.II@nigeria.gov.ng");
user.register(app)
.login();
// act
Something thing = user.createSomething(new
Something("Special"));
// assert
Assert.assertEquals(thing.getName(), "Special");
}
}
public class UiUser implements User {}
public class ApiUser implements User {}
public class MockUser implements User {}
28. 28
Confidential
Test Driven Test Automation
Write a
failing test
Make it work Refactor
Apply Test
Design
Technique
Make it
work, not
pass :)
29. 29
Confidential
[Story-007] As a Customer I want to add items to the cart So that I prefill my order
public class ShoppingCartTest {
private WebStoreMarket market = GlobalConfig.getMarket();
@Test(groups = { "presentation",
"story-007" }, description = "verify that two items can be added to cart")
public void add2ItemsToCart() {
// ARRANGE
WebStore store = new WebStore("Юшка & Петрушка").register(market);
Product soup = new Product("Юшка", 5.99, ProductType.Grocery);
store.publishProduct(soup, 500);
User customer = new User("Финтик Каленик Кононович",
UserType.RegularCustomer).register(market);
customer.login();
// ACT
customer.addToCart(customer.findProduct(soup), 2);
// ASSERT
List<CartItem> expectedItems = new List<CartItem>() {
{add(new CartItem(soup), 2);}
};
Assert.assertEquals(customer.getCart().getItems(), expectedItems);
}
}
1. SRP is violated
2. Data is hardcoded
3. Test design
techniques cannot be
applied
Typical Approach:
30. 30
Confidential
[Story-007] As a Customer I want to add items to the cart So that I prefill my order
// Step 1: Write a failing test
public class ShoppingCartTest {
private WebStoreMarket market;
public ShoppingCartTest() {
market = GlobalConfig.getMarket();
}
@Test(groups = { "presentation", "story-007" }, description = "verify that items can be added to cart")
public void addItemsToCart(User customer, List<Product> items) {
// ARRANGE
customer.login();
// ACT
for (Product item : items) {
customer.addToCart(customer.findProduct(item), 1);
}
// ASSERT
Cart expectedCart = new Cart(products);
Assert.assertEquals(customer.getCart(), expectedCart);
}
}
31. 31
Confidential
[Story-007] As a Customer I want to add items to the cart So that I prefill my order
// Step 2: Make it Work
@Test(groups = { "presentation",
"story-007" }, dataProvider = "
shopping-cart-cases", description = "verify that
items can be added to cart")
public void addItemsToCart(User customer,
List<Product> items) {
// ARRANGE
customer.login();
// ACT
for (Product item : items) {
customer.addToCart(customer.findProduc
t(item), 1);
}
// ASSERT
Cart expectedCart = new Cart(items);
Assert.assertEquals(customer.getCart(),
expectedCart);
}
@DataProvider(name = "shopping-cart-cases")
public Object[][] shoppingCartCases() {
WebStore store = new WebStore("Юшка & Петрушка")
.register(market);
Product soup = new Product("Юшка", 5.99,
ProductType.Grocery);
store.publishProduct(soup, 500);
User customer = new User("Финтик Каленик Кононович",
UserType.RegularCustomer).register(market);
ArrayList<Product> soup = new ArrayList<Product>() {
{
add(soup);
}
};
return new Object[][] { { customer, soup }};
}
It works, but SRP is still violated
32. 32
Confidential
[Story-007] As a Customer I want to add items to the cart So that I prefill my order
// Step 3: Refactor
@Test(groups = { "presentation",
"story-007" }, dataProvider = " shopping-cart-cases", description = "verify that items can be added to cart")
public void addItemsToCart(User customer, List<Product> items) {
// ARRANGE
customer.login();
// ACT
for (Product item : items) {
customer.addToCart(customer.findProduct(item), 1);
}
// ASSERT
Cart expectedCart = new Cart(items);
Assert.assertEquals(customer.getCart(), expectedCart);
}
@DataProvider(name = "shopping-cart-cases")
public Object[][] shoppingCartCases() {
ProductFactory productFactory = new ProductFactory(new WebStore(“[Story-007] Юшка & Петрушка"), market);
UserFactory userFactory = new UserFactory(market);
return new Object[][] {{ userFactory.getUser(UserType.RegularCustomer), productFactory.getGroceryItem("Юшка") }};
}
33. 33
Confidential
[Story-007] As a Customer I want to add items to the cart So that I prefill my order
// Step 4: Apply Test Design Technique
@Test(groups = { "presentation",
"story-007" }, dataProvider = " shopping-cart-cases", description = "verify that items can be added to cart")
public void addItemsToCart(User customer, List<Product> items) {
// ARRANGE
customer.login();
// ACT
for (Product item : items) {
customer.addToCart(customer.findProduct(item), 1);
}
// ASSERT
Cart expectedCart = new Cart(items);
Assert.assertEquals(customer.getCart(), expectedCart);
}
@DataProvider(name = "shopping-cart-cases")
public Object[][] shoppingCartCases() {
// loop through user types and basic product selection options
ProductFactory productFactory = new ProductFactory(new WebStore(“[Story-007] Юшка & Петрушка"), market);
UserFactory userFactory = new UserFactory(market);
return new Object[][] {
{ userFactory.getUser(UserType.RegularCustomer), productFactory.getStandardMenu(1) },
{ userFactory.getUser(UserType.PremiumCustomer), productFactory.getAdultMenu(1) },
{ userFactory.getUser(UserType.MinorCustomer), productFactory.getProduct("Юшка", 1) },
{ userFactory.getUser(UserType.SystemAdministrator), productFactory. getStandardMenu(2) },
};
}