[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...Scrum Breakfast Vietnam
Scrum Breakfast this June will focus on the following guiding concerns:
• Understand unit testing fundamentals in Android/iOS development.
• Know why we need to write tests, how it helps to control code quality.
• Easy to write testable code with MVVM (Model–View–ViewModel) architecture.
• CI/CD setup using Jenkins and Gitlab to show unit test coverage.
The document provides an overview of testing Java code using test-driven development (TDD). It discusses the basics of TDD, including writing tests before code, running tests frequently during development, and using tests to drive code design. It also covers best practices for unit testing like testing individual units of code in isolation using mock objects, verifying method calls and arguments, and testing exceptional behavior. The document emphasizes writing testable code, using testing frameworks to their full capabilities, and having thorough test coverage of all requirements and use cases.
This document provides an overview of unit and functional testing with JUnit and related tools. It discusses the different types of testing including unit, integration, functional, and performance testing. It explains why testing is important, especially for facilitating teamwork and enabling refactoring. The document also covers basic testing principles and how to write tests using JUnit including test structures, assertion methods, best practices, and running tests.
This document discusses the importance and best practices of unit testing JavaScript code. It covers why unit testing is needed, some common terms used in unit testing like assertions, fixtures, stubs and spies. It also provides an overview of unit testing frameworks like Karma and examples of testing Backbone models and collections. The document emphasizes that unit tests should be fast, isolated, consistent, self-descriptive and have single responsibilities. It concludes that each test should verify a small chunk of code in isolation and mocks/stubs/spies help achieve that while not needing to test everything extensively.
This document outlines the test and release strategy including manual testing, automation test planning, release procedures, Agile Scrum, and Behavior Driven Development (BDD). It describes documenting test scenarios and statuses, tracking test coverage, updating requirements, running automated tests, and releasing features through various environments before deployment to production. The workflow involves developing user stories, documenting scenarios, testing, peer reviewing, releasing to subsequent environments, monitoring, and post-release reviews.
This document provides an overview of unit testing AngularJS applications using Karma, Jasmine, and Angular mocks. It discusses how to set up tests using Karma and Jasmine, write specs using matchers and spies, and mock dependencies using Angular mocks. Key points covered include isolating units of code for testing, using Karma to run tests in browsers, the structure of Jasmine specs, and mocking HTTP requests and other services.
This document discusses best practices for testing code. It recommends writing unit, integration, functional, generated, and performance tests. Unit tests should be isolated, reproducible, fast, simple, and automated. Integration tests check interactions between components. Functional tests simulate user behaviors. Generated tests use random inputs to try breaking code. Performance tests measure timing and load capacity. The document provides examples of tools and techniques for writing different types of tests in Python.
[Scrum Breakfast DN] Is it possible to make 100% Unit Test coverage for your ...Scrum Breakfast Vietnam
Scrum Breakfast this June will focus on the following guiding concerns:
• Understand unit testing fundamentals in Android/iOS development.
• Know why we need to write tests, how it helps to control code quality.
• Easy to write testable code with MVVM (Model–View–ViewModel) architecture.
• CI/CD setup using Jenkins and Gitlab to show unit test coverage.
The document provides an overview of testing Java code using test-driven development (TDD). It discusses the basics of TDD, including writing tests before code, running tests frequently during development, and using tests to drive code design. It also covers best practices for unit testing like testing individual units of code in isolation using mock objects, verifying method calls and arguments, and testing exceptional behavior. The document emphasizes writing testable code, using testing frameworks to their full capabilities, and having thorough test coverage of all requirements and use cases.
This document provides an overview of unit and functional testing with JUnit and related tools. It discusses the different types of testing including unit, integration, functional, and performance testing. It explains why testing is important, especially for facilitating teamwork and enabling refactoring. The document also covers basic testing principles and how to write tests using JUnit including test structures, assertion methods, best practices, and running tests.
This document discusses the importance and best practices of unit testing JavaScript code. It covers why unit testing is needed, some common terms used in unit testing like assertions, fixtures, stubs and spies. It also provides an overview of unit testing frameworks like Karma and examples of testing Backbone models and collections. The document emphasizes that unit tests should be fast, isolated, consistent, self-descriptive and have single responsibilities. It concludes that each test should verify a small chunk of code in isolation and mocks/stubs/spies help achieve that while not needing to test everything extensively.
This document outlines the test and release strategy including manual testing, automation test planning, release procedures, Agile Scrum, and Behavior Driven Development (BDD). It describes documenting test scenarios and statuses, tracking test coverage, updating requirements, running automated tests, and releasing features through various environments before deployment to production. The workflow involves developing user stories, documenting scenarios, testing, peer reviewing, releasing to subsequent environments, monitoring, and post-release reviews.
This document provides an overview of unit testing AngularJS applications using Karma, Jasmine, and Angular mocks. It discusses how to set up tests using Karma and Jasmine, write specs using matchers and spies, and mock dependencies using Angular mocks. Key points covered include isolating units of code for testing, using Karma to run tests in browsers, the structure of Jasmine specs, and mocking HTTP requests and other services.
This document discusses best practices for testing code. It recommends writing unit, integration, functional, generated, and performance tests. Unit tests should be isolated, reproducible, fast, simple, and automated. Integration tests check interactions between components. Functional tests simulate user behaviors. Generated tests use random inputs to try breaking code. Performance tests measure timing and load capacity. The document provides examples of tools and techniques for writing different types of tests in Python.
A brief introduction to javascript test driven development (TDD) towards several point of views by using qUnit, Karma & Jasmine, NodeJS tape module and custom frameworks.
This document discusses unit testing for mobile apps. It provides an overview of unit testing, including why to test code (to fix bugs early, refine design, ease changes, and provide documentation), how to test code (after writing, before writing, and after fixing bugs), and popular tools for unit testing iOS and Android apps, such as XCTest, JUnit, and Robolectric. Code samples are provided to demonstrate unit testing with XCTest, OCMock, JUnit, and Mockito. The presentation concludes with a demo of testing with KIF and a call for questions.
This document outlines a plan to perform path testing on a VB project using the WinRunner tool. It describes developing test cases to validate the input and output of transactions between the project application and database. The test plan specifies testing the login, worker, product, and transaction details and validating the output reports. The test execution steps involve initializing WinRunner, recording the VB project, and running the tests to generate a pass/fail result and execution time. The goal is to test all input conditions and transaction flows between the application and database.
Testing in FrontEnd World by Nikita GalkinSigma Software
The document discusses different types of frontend testing including:
1. Linting - Used to enforce code style standards and best practices through static analysis.
2. Unit testing - Tests individual units/components of code without dependencies to validate business logic.
3. Component testing - Tests isolated React/Vue components through tools like Storybook for documentation and structural/interaction testing.
4. Visual testing - Tests UI using screenshots to catch visual regressions. Requires browsers.
5. End to end (E2E) testing - Focuses on user experience through full browser automation using tools like Protractor for Angular projects.
The document emphasizes writing tests that are fast,
The document outlines a plan to perform path testing on a VB project using WinRunner. It describes developing test cases to validate inputs like login details and outputs like reports. The test execution process uses WinRunner to record checkpoints while interacting with the VB application, then runs the test and analyzes results. The goal of validating transaction flows between the application and database was achieved.
Automate test, tools, advantages, and disadvantagesMajid Hosseini
The document discusses various types of software testing including unit testing, integration testing, and high-level testing. It provides examples of unit tests in different programming languages and describes the test pyramid with unit tests at the base and high-level tests at the top. Finally, it discusses different roles in software testing teams and various tools used for testing web, mobile, performance, and contracts.
This document discusses the importance of testing code through automated unit tests. It defines what a test is, which is an automated way to ensure code performs as expected. The key components of a test are setup, action, and assertion. Examples are provided of how to write tests using the common AAA pattern of arrange, act, assert. Benefits of testing include increased confidence in code, ability to refactor, and ability to test code in production. The document concludes with tips on choosing a testing framework and starting to write tests.
This document discusses xUnit test patterns, including definitions of unit testing and non-unit testing, the phases of testing like test organization and smells, and types of smells. It covers test phases, organizing test suites and test cases, different types of smells at the code, behavior, and project levels, and examples of code smells.
The document discusses flaws in testable code and provides warning signs for each flaw. The main flaws covered are:
1. Constructor does real work - violating single responsibility principle and making testing difficult. Warning signs include new keyword or static calls in constructors.
2. Digging into collaborators - violating law of demeter by accessing deep object graphs. Warning signs are unnecessary chains of method calls.
3. Brittle global state and singletons - introducing "spooky action at a distance." Warning signs include singletons, static fields/methods, and registries.
4. Class does too much - known as a "kitchen sink" class. Warning signs are classes that are challenging to understand or
My talk delivered at Wicked Good Ember Conference 2016 discussing strategies and techniques to help maintain your tests when working with a large test suite.
Why reactive:reactive programming spring 5dnnddane
The document discusses reactive programming with Spring 5. It introduces reactive programming as an asynchronous, non-blocking approach that handles data flows between producers and consumers. It then covers reactive streams, Project Reactor, and an example usage of reactive repositories with Spring 5. The document aims to explain the benefits of reactive programming and how it can be implemented with Spring 5.
We branch code to develop new features without affecting production, and to minimize merge conflicts. Branching by abstraction avoids directly porting code between branches. Instead, feature flags or configuration options are used to selectively enable features, allowing previous implementations and tests to be preserved when features are added or removed. This approach keeps code cleaner and makes it easier to promote changes or revert them without risk of losing features.
[FullStack NYC 2019] Effective Unit Tests for JavaScriptHazem Saleh
The document discusses code coverage and mutation testing tools for JavaScript. It introduces karma-coverage as a code coverage plugin that can be used with Karma test runner. Traditional code coverage only measures executed code and does not guarantee tests will fail on logic changes. Mutation testing seeds code with faults to evaluate test strength by whether faults are killed by tests. The document demonstrates Stryker, a mutation testing tool for JavaScript that works with popular frameworks and provides test reports. It provides sample URLs and recommends using Stryker with Angular CLI 6.1+.
Metaprogramming refers to manipulating or extending a program from within itself. ES2015 introduced the Proxy API for metaprogramming in JavaScript. A Proxy allows defining custom behavior for fundamental operations like property lookup, assignment, and enumeration. It works by wrapping a target object and defining traps (functions) for operations. While proxies enable powerful abstractions, they can impact performance due to the added layer of indirection. However, use cases like validation, logging, and virtual objects demonstrate how proxies can extend functionality transparently.
This document introduces the ASP.NET MVC framework. It discusses how MVC enables clean separation of concerns through distinct model, view, and controller components. Controllers handle requests and choose views to render while passing them model data. Views focus on rendering output. The document also outlines how MVC supports testable, RESTful code through interfaces and dependency injection. It provides examples of routing, controller actions, view selection, and testing approaches. Finally, it demonstrates MVC concepts through sample projects.
Enroll expert level Online Testing Tools Training by Spiritsofts, Learn Testing Tools Certification Training with Course Material, Tutorial Videos, Attend Demo for free & you will find Spiritsofts is the best Online Training Institute within reasonable fee. Software Testing
Spiritsofts is the best Training Institutes to expand your skills and knowledge. We Provides the best learning Environment. Obtain all the training by our expert professionals which is having working experience from Top IT companies.
The Training in is every thing we explained based on real time scenarios, it works which we do in companies.
iOS Practice Leaders Community Meet-up.
“Unit Testing in iOS” by Maxim Koshtenko
- why we need tests and what their use in applications’ developing on a project is;
- how one should and should not test source code;
- review of some of the most popular tools which make test-writing easier;
- how to switch to unit-testing on a project which already exists.
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Ukraine
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
Ultra Light and Maintainable Rails Wizards at RailsConf 2014Andy Maleh
Wizards have been common in web applications since the dawn of the Internet, with the most popular example being the Shopping Cart, yet many struggle with writing wizard code effectively, resulting in a huge untraceable rat's nest of copy/paste code. In fact, many implementations violate REST and include Fat Controllers as well as overly complicated wizard-step management, data, session, and validation code. This talk covers a better way that yields Ultra Light and Maintainable Rails Wizards!
Test Design for Fully Automated Build ArchitecturesMelissa Benua
Imagine: as soon as any developed functionality is submitted into the code repository, it is automatically subjected to the appropriate battery of tests and then released straight into the wild. Setting up the pipeline to do just that is very common, but most organizations hit the same stumbling block: just what IS the appropriate battery of tests? And how do we configure our test framework to support the many places our tests might want to run? Automated build pipelines don't always lend themselves well to the traditional stages of testing. In this hands-on workshop, Melissa will introduce automated test writers to the key principles of automated test design that apply to organizations big and small to allow them to take full advantage of their pipeline's capabilities without introducing unnecessary bottlenecks. Participants will learn the fundamentals of highly reliable tests that run fast and atomically in order to reproduce a failure - every time. They will also explore how to reduce overlap while still maintaining adequate test coverage, about what test areas might be most beneficial to combine into a single suite, and what areas might benefit most from being broken out altogether.
A brief introduction to javascript test driven development (TDD) towards several point of views by using qUnit, Karma & Jasmine, NodeJS tape module and custom frameworks.
This document discusses unit testing for mobile apps. It provides an overview of unit testing, including why to test code (to fix bugs early, refine design, ease changes, and provide documentation), how to test code (after writing, before writing, and after fixing bugs), and popular tools for unit testing iOS and Android apps, such as XCTest, JUnit, and Robolectric. Code samples are provided to demonstrate unit testing with XCTest, OCMock, JUnit, and Mockito. The presentation concludes with a demo of testing with KIF and a call for questions.
This document outlines a plan to perform path testing on a VB project using the WinRunner tool. It describes developing test cases to validate the input and output of transactions between the project application and database. The test plan specifies testing the login, worker, product, and transaction details and validating the output reports. The test execution steps involve initializing WinRunner, recording the VB project, and running the tests to generate a pass/fail result and execution time. The goal is to test all input conditions and transaction flows between the application and database.
Testing in FrontEnd World by Nikita GalkinSigma Software
The document discusses different types of frontend testing including:
1. Linting - Used to enforce code style standards and best practices through static analysis.
2. Unit testing - Tests individual units/components of code without dependencies to validate business logic.
3. Component testing - Tests isolated React/Vue components through tools like Storybook for documentation and structural/interaction testing.
4. Visual testing - Tests UI using screenshots to catch visual regressions. Requires browsers.
5. End to end (E2E) testing - Focuses on user experience through full browser automation using tools like Protractor for Angular projects.
The document emphasizes writing tests that are fast,
The document outlines a plan to perform path testing on a VB project using WinRunner. It describes developing test cases to validate inputs like login details and outputs like reports. The test execution process uses WinRunner to record checkpoints while interacting with the VB application, then runs the test and analyzes results. The goal of validating transaction flows between the application and database was achieved.
Automate test, tools, advantages, and disadvantagesMajid Hosseini
The document discusses various types of software testing including unit testing, integration testing, and high-level testing. It provides examples of unit tests in different programming languages and describes the test pyramid with unit tests at the base and high-level tests at the top. Finally, it discusses different roles in software testing teams and various tools used for testing web, mobile, performance, and contracts.
This document discusses the importance of testing code through automated unit tests. It defines what a test is, which is an automated way to ensure code performs as expected. The key components of a test are setup, action, and assertion. Examples are provided of how to write tests using the common AAA pattern of arrange, act, assert. Benefits of testing include increased confidence in code, ability to refactor, and ability to test code in production. The document concludes with tips on choosing a testing framework and starting to write tests.
This document discusses xUnit test patterns, including definitions of unit testing and non-unit testing, the phases of testing like test organization and smells, and types of smells. It covers test phases, organizing test suites and test cases, different types of smells at the code, behavior, and project levels, and examples of code smells.
The document discusses flaws in testable code and provides warning signs for each flaw. The main flaws covered are:
1. Constructor does real work - violating single responsibility principle and making testing difficult. Warning signs include new keyword or static calls in constructors.
2. Digging into collaborators - violating law of demeter by accessing deep object graphs. Warning signs are unnecessary chains of method calls.
3. Brittle global state and singletons - introducing "spooky action at a distance." Warning signs include singletons, static fields/methods, and registries.
4. Class does too much - known as a "kitchen sink" class. Warning signs are classes that are challenging to understand or
My talk delivered at Wicked Good Ember Conference 2016 discussing strategies and techniques to help maintain your tests when working with a large test suite.
Why reactive:reactive programming spring 5dnnddane
The document discusses reactive programming with Spring 5. It introduces reactive programming as an asynchronous, non-blocking approach that handles data flows between producers and consumers. It then covers reactive streams, Project Reactor, and an example usage of reactive repositories with Spring 5. The document aims to explain the benefits of reactive programming and how it can be implemented with Spring 5.
We branch code to develop new features without affecting production, and to minimize merge conflicts. Branching by abstraction avoids directly porting code between branches. Instead, feature flags or configuration options are used to selectively enable features, allowing previous implementations and tests to be preserved when features are added or removed. This approach keeps code cleaner and makes it easier to promote changes or revert them without risk of losing features.
[FullStack NYC 2019] Effective Unit Tests for JavaScriptHazem Saleh
The document discusses code coverage and mutation testing tools for JavaScript. It introduces karma-coverage as a code coverage plugin that can be used with Karma test runner. Traditional code coverage only measures executed code and does not guarantee tests will fail on logic changes. Mutation testing seeds code with faults to evaluate test strength by whether faults are killed by tests. The document demonstrates Stryker, a mutation testing tool for JavaScript that works with popular frameworks and provides test reports. It provides sample URLs and recommends using Stryker with Angular CLI 6.1+.
Metaprogramming refers to manipulating or extending a program from within itself. ES2015 introduced the Proxy API for metaprogramming in JavaScript. A Proxy allows defining custom behavior for fundamental operations like property lookup, assignment, and enumeration. It works by wrapping a target object and defining traps (functions) for operations. While proxies enable powerful abstractions, they can impact performance due to the added layer of indirection. However, use cases like validation, logging, and virtual objects demonstrate how proxies can extend functionality transparently.
This document introduces the ASP.NET MVC framework. It discusses how MVC enables clean separation of concerns through distinct model, view, and controller components. Controllers handle requests and choose views to render while passing them model data. Views focus on rendering output. The document also outlines how MVC supports testable, RESTful code through interfaces and dependency injection. It provides examples of routing, controller actions, view selection, and testing approaches. Finally, it demonstrates MVC concepts through sample projects.
Enroll expert level Online Testing Tools Training by Spiritsofts, Learn Testing Tools Certification Training with Course Material, Tutorial Videos, Attend Demo for free & you will find Spiritsofts is the best Online Training Institute within reasonable fee. Software Testing
Spiritsofts is the best Training Institutes to expand your skills and knowledge. We Provides the best learning Environment. Obtain all the training by our expert professionals which is having working experience from Top IT companies.
The Training in is every thing we explained based on real time scenarios, it works which we do in companies.
iOS Practice Leaders Community Meet-up.
“Unit Testing in iOS” by Maxim Koshtenko
- why we need tests and what their use in applications’ developing on a project is;
- how one should and should not test source code;
- review of some of the most popular tools which make test-writing easier;
- how to switch to unit-testing on a project which already exists.
GlobalLogic Test Automation Online TechTalk “Test Driven Development as a Per...GlobalLogic Ukraine
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
Ultra Light and Maintainable Rails Wizards at RailsConf 2014Andy Maleh
Wizards have been common in web applications since the dawn of the Internet, with the most popular example being the Shopping Cart, yet many struggle with writing wizard code effectively, resulting in a huge untraceable rat's nest of copy/paste code. In fact, many implementations violate REST and include Fat Controllers as well as overly complicated wizard-step management, data, session, and validation code. This talk covers a better way that yields Ultra Light and Maintainable Rails Wizards!
Test Design for Fully Automated Build ArchitecturesMelissa Benua
Imagine: as soon as any developed functionality is submitted into the code repository, it is automatically subjected to the appropriate battery of tests and then released straight into the wild. Setting up the pipeline to do just that is very common, but most organizations hit the same stumbling block: just what IS the appropriate battery of tests? And how do we configure our test framework to support the many places our tests might want to run? Automated build pipelines don't always lend themselves well to the traditional stages of testing. In this hands-on workshop, Melissa will introduce automated test writers to the key principles of automated test design that apply to organizations big and small to allow them to take full advantage of their pipeline's capabilities without introducing unnecessary bottlenecks. Participants will learn the fundamentals of highly reliable tests that run fast and atomically in order to reproduce a failure - every time. They will also explore how to reduce overlap while still maintaining adequate test coverage, about what test areas might be most beneficial to combine into a single suite, and what areas might benefit most from being broken out altogether.
Test automation lessons from WebSphere Application ServerRobbie Minshall
The document discusses WebSphere testing at IBM. It provides an overview of IBM's:
- Extensive testing resources including over 200 engineers and thousands of systems.
- Daily regression testing of over 1.7 million tests.
- Transition from waterfall to agile development which reduced cycle times and resources needed for testing.
- Use of cloud resources to speed up test deployment and automation.
- Focus on creating meaningful regressions through techniques like integration acceptance tests run continuously on each build.
QA Strategies for Testing Legacy Web AppsRainforest QA
Paul Miles, Software Development Manager at NPR, discusses QA strategies and tools his team uses to address the challenge of maintaining legacy products at NPR.
In this presentation, he covers:
- How to effectively strategize what types of tests to add to legacy software
- What cost-effective tools and testing strategies you can adopt in your organization
- Approaches about how to incorporate testing into your organization’s build pipelines
- How to foster testing centric culture in your organization
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum
In this talk, we’ll show you our development process at Infinum. We'll talk about Continuous integration, MVP, Git flow, static code analysis, Unit tests, multi-environment support and a few more.
The first question after people have learned about how to implement anadvanced architecture in their applications from scratch is: "How do I transform my codebase from its current state to a well architected app?" Forget about BigBang rewrites. Come and learn some strategies, tricks, and gotchas about how to do the migration to an advanced arch mobile app. Move to from Objective-C to Swift in the process and keep it functional during the whole process.
Scaling Ride-Hailing with Machine Learning on MLflowDatabricks
"GOJEK, the Southeast Asian super-app, has seen an explosive growth in both users and data over the past three years. Today the technology startup uses big data powered machine learning to inform decision-making in its ride-hailing, lifestyle, logistics, food delivery, and payment products. From selecting the right driver to dispatch, to dynamically setting prices, to serving food recommendations, to forecasting real-world events. Hundreds of millions of orders per month, across 18 products, are all driven by machine learning.
Building production grade machine learning systems at GOJEK wasn't always easy. Data processing and machine learning pipelines were brittle, long running, and had low reproducibility. Models and experiments were difficult to track, which led to downstream problems in production during serving and model evaluation. In this talk we will cover these and other challenges that we faced while trying to scale end-to-end machine learning systems at GOJEK. We will then introduce MLflow and explore the key features that make it useful as part of an ML platform. Finally, we will show how introducing MLflow into the ML life cycle has helped to solve many of the problems we faced while scaling machine learning at GOJEK.
"
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.
Testing is an important part of all software projects – and so is keeping sane. In order to not make the developers and testers lose their minds while verifying that a huge amount of features still work, the testing should be automated. What’s worse, the complexity of the underlying technologies often make it more challenging to test web applications than conventional software.
This talk will show you some tools and methodologies for automated testing of web apps and especially the user interface layer of web apps. It will discuss how to architect a web app for easy testing and what kind of tests should go where and in which situation. We’ll even have a look at how the customer requirements can be automatically tested and verified to work – exactly as specified by the ones paying the bills.
This document provides an agenda and overview for a NeoLoad training. It introduces load testing principles and the NeoLoad tool. The agenda covers an introduction, load testing principles including test types and methodology. It then covers designing a test in NeoLoad including recording a virtual user profile, building a population, and monitoring. It concludes with running a test, analyzing results, and an overview of advanced NeoLoad features.
Learn how to debug using visual debugger including breakpoints, stepping, skipping, and more with WSO2 Integration Studio. Additionally, the deck explores how to inspect and use wire logs to troubleshoot mediation flows.
Watch the webinar on-demand here - https://wso2.com/library/webinars/2019/06/debugging-integration-flows/
Andreas Grabner - Performance as Code, Let's Make It a StandardNeotys_Partner
Since its beginning, the Performance Advisory Council aims to promote engagement between various experts from around the world, to create relevant, value-added content sharing between members. For Neotys, to strengthen our position as a thought leader in load & performance testing. During this event, 12 participants convened in Chamonix (France) exploring several topics on the minds of today’s performance tester such as DevOps, Shift Left/Right, Test Automation, Blockchain and Artificial Intelligence.
This document discusses test-driven development with JavaFX. It covers testing JavaFX applications at the unit, integration, and system levels. It also discusses continuous integration/continuous delivery and different tools that can be used for testing JavaFX applications, including TestFX, MarvinFX, JemmyFX, and Automaton. TestFX is highlighted as the recommended tool, with details provided on how to interact with JavaFX applications using its fluent API. The document also discusses using the view object pattern to write more readable tests and testing JavaFX applications that use DataFX or Afterburner.fx frameworks. It provides an example of using CDI to inject mocks when testing.
1.microsoft visual studio 2010 test managerAshwin Jujgar
The document discusses Microsoft Visual Studio 2010 and Test Manager. It provides an overview of Visual Studio Team System 2010 and its tools for software development, testing, and management. It also describes the capabilities of Microsoft Test Manager for test planning, case management, execution and defect tracking. Finally, it demonstrates some of these capabilities through a test planning and execution demo.
Unit testing and test-driven development are practices that makes it easy and efficient to create well-structured and well-working code. However, many software projects didn't create unit tests from the beginning.
In this presentation I will show a test automation strategy that works well for legacy code, and how to implement such a strategy on a project. The strategy focuses on characterization tests and refactoring, and the slides contain a detailed example of how to carry through a major refactoring in many tiny steps
Tell Me Quando - Implementing Feature FlagsJorge Ortiz
Feature flags allow software developers to experiment with new features or changes by hiding or exposing functionality while the software is in development. The document discusses implementing feature flags by using build configurations and conditional compilation to produce different versions from the same codebase. It provides examples of using feature flags for minor UI changes like changing colors or text, and major UI changes like using different views. Tests should test both the original code with feature flags disabled and new code with them enabled.
Control your Voice like a Bene GesseritJorge Ortiz
This is my talk for the AppDevCon 2018 where I introduce attendees to the wonderful world of Voice User Interfaces. It starts with a brief introduction to Alexa Skills and Google Home Actions and how to write one of them. Then it explains the benefits of having a mobile app implemented with a good architecture.
Charla para la gente de la UPM.
Breve introducción a Go.
Presentación de la kata Gilded Rose.
Introducir pruebas unitarias en Go.
Refactorizar para triunfar.
Talk at Droidcon London 2017
Testing is a fundamental component for the success of our apps. Professionals in charge for developing Android apps are well aware of that and we are doing our best to add unit tests to our apps. But having a good test coverage is not an easy task. More so, when activities (or fragments) get in the middle.
In this talk, I shared a brief introduction about how architecture helps us to increase code coverage and provided some practical hints.
I did do some live coding to show how to use espresso and JUnit to write unit tests of an activity. The code was written in Kotlin, but the same can easily be done in Java.
The video of this talk is here: (requires free subscription)
https://skillsmatter.com/skillscasts/10534-cya-cover-your-app
201710 Fly Me to the View - iOS Conf SGJorge Ortiz
This document discusses navigation in mobile applications using an advanced architecture. It proposes handling navigation through presenters rather than views to decouple events from semantics. Storyboards are presented as an implementation that is not required. Modular navigation allows passive views and independence from any implementation. Clear benefits include testability, modifying dependency injection, and enabling A/B testing through different navigation implementations in presenters.
Home Improvement: Architecture & KotlinJorge Ortiz
The document discusses using Kotlin for home improvement architecture and mobile development. It covers architectural concepts like clean architecture and dependency inversion. It then discusses Kotlin features like conciseness through removing boilerplate code, using data classes for entities, property delegation for observation, and sealed classes to avoid enums. The talk recommends Kotlin as it makes advanced architectures easier and more concise to implement.
These are the slides of my talk at the Droidcon Italy 2017.
I will start with a very brief theoretical introduction to the usage of factories and the dependency inversion principle. From there on, this is a live coding session where I will start from a properly architected app and show how it helps to do things such as reusing an existing use case in another view controller, or using a different backend, in case we are forced to do so (Any bitter memories?). I will also cover briefly how this architecture helps with testability. The goal is to prove that the benefits of a good architecture are very immediate and valuable.
Come enjoy and spread the message within your team!
We usually hear about intangible or difficult to measure benefits of implementing a good architecture. I would like to prove to you that the benefits are far more mundane. In this talk I will showcase practical, real world examples of how a good architecture for your application makes your life easier. Using my interpretation of the Clean Architecture for Android in Kotlin, I will show how it helps to do things such as reusing an existing use case in another view controller, or using a different backend, in case we are forced to do so. I will also cover briefly how this architecture helps with testability.
These are the slides of my talk at iOSCon 2017: https://skillsmatter.com/skillscasts/9549-architecting-alive-apps
Our apps are ever more alive. They interact with the rest of the world talking to backends and receiving notifications from them. They get their input from us and from other sensors. They are even aware of the location of the device they run in, or its position. But, in our IoT world, they may also detect presence in a room, get the temperature of it, or change the color of its lights.
Sadly enough, many of the apps available today with those capabilities have some architectural limitations:
Many of them are written in a way that is really dependent on a specific hardware.
Some restrict their use cases to whatever is provided by the hardware devices.
And almost all of them expect having a connection with the real device as the only way to test if they work properly.
However, we can also use an advanced architecture, like the Clean Architecture, to create a beautiful, scalable, testable, and robust application. Join Jorge and he will share with you how you can do it!
This is a "Code or it didn't happen" (TM) talk.
The 3h workshop version of the 3d Advanced Architectures training (http://canonicalexamples.com/courses_ios/#iOSArch). I have delivered this one or the Android counterpart in more than 20 cities in Europe and America. This is version that I shared in Cluj Napoca.
The 3h workshop version of the 3d Advanced Architectures training (http://canonicalexamples.com/courses_android/#androidArch). I have delivered this one or the iOS counterpart in more than 20 cities of Europe and America. This is the latest version that shared in Minsk.
This document summarizes a presentation about building backends with Swift. It discusses tools for Swift backend development like Emacs, iTerm, and tmux. It evaluates several Swift frameworks for building backends including Kitura, Perfect, Vapor, and Zewo. It describes implementing the architecture of a test app using concepts from clean architecture. The presentation concludes that Swift code on a Raspberry Pi has some issues but the domain logic can be shared between backend and other code, and building backends with Swift is worth investing in despite current immaturity of the development environment.
This document discusses implementing Clean Architecture in iOS apps. It provides an agenda for a training on the topic, including understanding Clean Architecture concepts, implementing rules, and an example app called RealProgrammers. The first user story of displaying a list of programmers is implemented as an example, including defining the interactor, presenter and view components and their responsibilities, as well as the entity gateway.
Everybody involved in a mid size project or bigger is concerned about architecture. We have all been told that a good architecture can help us to have a more agile, robust, and easier to work with application, but it is not always clear how nor the architecture everybody else is talking about. By establishing parallelisms with Andy Weir's story, The Martian, I will go through the most relevant problems we usually find, explain how a well thought out architecture can be valuable to us, and share some code that implements it.
I use Swift in all of the code examples, because, in my opinion, it is very well suited for implementing those advanced architectures. If you care:
- The talk includes only minor spoilers
- No, it isn't about MVC, but beyond that
Why the Dark Side should use Swift and a SOLID ArchitectureJorge Ortiz
The document discusses how adopting a SOLID architecture and design patterns can help address weaknesses of the "Dark Side" like lack of robustness, testability, and team collaboration. It promotes using SOLID principles like single responsibility, open/closed, Liskov substitution, and dependency inversion. Examples show applying these principles through concepts like entities, use cases, presenters, and segregating interfaces. Adopting these practices leads to code that is more reusable, flexible, and replaceable.
The document discusses architectural "superpowers" such as reusability, independence, and testability. It promotes applying principles like the single responsibility principle and dependency inversion principle to achieve benefits like less repetition, easier maintenance, and faster changes. Examples are given of how to structure a project to separate concerns and allow flexibility, including breaking logic out into independent view models, services, and dependencies that can be more easily reused, replaced, or tested. The overall message is that learning and applying architectural principles can provide real benefits to a project.
This document outlines the 7 stages of unit testing: 1) Shock & Disbelief, 2) Denial, 3) Anger, 4) Bargain, 5) Guilt, 6) Depression, 7) Acceptance & Hope. It provides examples of different types of unit tests like testing return values, state changes, and behaviors using stubs, mocks and dependency injection. It also discusses improving test quality by following rules, prioritizing coverage, and measuring it, as well as integrating other test types and using CI/CD as developers progress through the stages towards acceptance of unit testing.
This are the slides for the talk that I made at Codemotion 2015.
Swift had provided developers with new features of the most modern languages combined with a simple and elegant syntax. In this presentation I explore what an advanced architecture is and its benefits, how design patterns help us in an advanced architecture, and how to implement those patterns in Swift, taking advantage of Swift 2.x new features.
How hard can it be testing your iOS apps? Is TDD a utopian scenario for you yet? That might be because of the architecture that you are using. During this talk, I explain how using the SOLID principles and a good architecture can help you to do real Test Driven Development. But don't worry, this talk is not only about theory, I point out some real examples of common problems when testing your apps and explain how the Clean Architecture and Swift come to the rescue in those scenarios.
You can watch the video here: https://www.youtube.com/watch?v=qYpURmZcCKs
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
Top 9 Trends in Cybersecurity for 2024.pptxdevvsandy
Security and risk management (SRM) leaders face disruptions on technological, organizational, and human fronts. Preparation and pragmatic execution are key for dealing with these disruptions and providing the right cybersecurity program.
SMS API Integration in Saudi Arabia| Best SMS API ServiceYara Milbes
Discover the benefits and implementation of SMS API integration in the UAE and Middle East. This comprehensive guide covers the importance of SMS messaging APIs, the advantages of bulk SMS APIs, and real-world case studies. Learn how CEQUENS, a leader in communication solutions, can help your business enhance customer engagement and streamline operations with innovative CPaaS, reliable SMS APIs, and omnichannel solutions, including WhatsApp Business. Perfect for businesses seeking to optimize their communication strategies in the digital age.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
13. @jdortiz
Testing the ViewModel
★ Use mock as model
★ Input
• Invoke methods of the view model (used to
communicate events)
• Notify of changes in the model
★ Output: Check if
✦ The state of the view model is the expected one
✦ It invokes expected operations in the model
15. @jdortiz
Testing the View
★ Inputs
• Changes in the properties of the view model
• User interacting with the views
★ Outputs
• The view changes as expected
• It tells the viewModel about the corresponding
events