In this talk, I outline a structured approach for determining what matters, how to test it, common pitfalls in testing, and some ancillary benefits to running tests.
Failing: The Very Human Side of TestingSimon Morley
The document discusses common failures and challenges that testers face, such as getting stuck in details, not taking effective notes, and struggling to start testing or get unstuck. It provides lessons learned such as celebrating failures as learning opportunities, balancing focus and defocus, explaining problems to others, and asking context-free questions to clarify requirements. The goal is to help testers improve by discussing failures and how to learn from mistakes.
Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"LogeekNightUkraine
The document discusses the challenges of automating testing in the automotive industry. It notes that expectations of automation, such as less manual work and more test coverage, often do not match reality. Automotive projects have small, secretive communities and use specialized tech stacks different from other industries. The author argues that to be more effective, QA engineers should learn the programming languages like C++ that development teams use, understand developers' work, and catch problems early in the development process rather than later through testing.
Experiences with Semi-Scripted Exploratory TestingSimon Morley
The document discusses experiences with combining semi-scripted and exploratory testing approaches. It describes a case where short timelines and complex environments typically led to traditional scripted testing. A semi-scripted approach was used, involving feature walkthroughs, brainstorming test ideas, and execution with some predefined setup but freedom for exploratory testing. This transitioned teams to value investigative testing over scripted test cases and numbers, finding more issues and providing better information to stakeholders.
The document discusses paper prototyping techniques for product development. Paper prototyping allows developers to create working models of systems using simple materials like paper, pens and scissors to get early feedback before development. It is fast, inexpensive and lets users interact with and test prototypes to provide feedback to refine a design through multiple iterations before production. The document provides examples of paper prototyping a personal profile and photo gallery app to demonstrate how to create interactive prototypes, test them with users and refine the design based on test results.
DEF CON 23 - Ryan Mitchell - separating bots from humansFelipe Prado
This document summarizes a talk on separating bots from humans. The speaker is a software engineer and author who has written books on web scraping. He discusses the history of bots and scrapers, why they are important, and methods used on both the defense and attack sides to identify and bypass bots. On the defense side, he covers techniques like robots.txt files, terms of service, headers, CAPTCHAs, honeypots, behavioral patterns, and IP blocking. On the attack side, he discusses targeted vs non-targeted attacks, OCR, JavaScript execution, and honeypot avoidance. He concludes by suggesting it may be better to stop trying to bot-proof sites and make data available through APIs instead.
This presentation is the accumulation of several internet resources on why unit testing is a good thing. It debunks common excuses to not write unit tests, and shows how writing unit tests can actually speed up software development.
It's Not Just a Phase: Learning To Love Full Stack DevelopmentAlexis Ewing-Moody
There is an abundance of specialist positions in the tech industry. This talk highlights the need for all developers to think holistically about their applications/features.
Failing: The Very Human Side of TestingSimon Morley
The document discusses common failures and challenges that testers face, such as getting stuck in details, not taking effective notes, and struggling to start testing or get unstuck. It provides lessons learned such as celebrating failures as learning opportunities, balancing focus and defocus, explaining problems to others, and asking context-free questions to clarify requirements. The goal is to help testers improve by discussing failures and how to learn from mistakes.
Nhu Viet Nguyen "Why C++ is Becoming a Necessity for QA Automation"LogeekNightUkraine
The document discusses the challenges of automating testing in the automotive industry. It notes that expectations of automation, such as less manual work and more test coverage, often do not match reality. Automotive projects have small, secretive communities and use specialized tech stacks different from other industries. The author argues that to be more effective, QA engineers should learn the programming languages like C++ that development teams use, understand developers' work, and catch problems early in the development process rather than later through testing.
Experiences with Semi-Scripted Exploratory TestingSimon Morley
The document discusses experiences with combining semi-scripted and exploratory testing approaches. It describes a case where short timelines and complex environments typically led to traditional scripted testing. A semi-scripted approach was used, involving feature walkthroughs, brainstorming test ideas, and execution with some predefined setup but freedom for exploratory testing. This transitioned teams to value investigative testing over scripted test cases and numbers, finding more issues and providing better information to stakeholders.
The document discusses paper prototyping techniques for product development. Paper prototyping allows developers to create working models of systems using simple materials like paper, pens and scissors to get early feedback before development. It is fast, inexpensive and lets users interact with and test prototypes to provide feedback to refine a design through multiple iterations before production. The document provides examples of paper prototyping a personal profile and photo gallery app to demonstrate how to create interactive prototypes, test them with users and refine the design based on test results.
DEF CON 23 - Ryan Mitchell - separating bots from humansFelipe Prado
This document summarizes a talk on separating bots from humans. The speaker is a software engineer and author who has written books on web scraping. He discusses the history of bots and scrapers, why they are important, and methods used on both the defense and attack sides to identify and bypass bots. On the defense side, he covers techniques like robots.txt files, terms of service, headers, CAPTCHAs, honeypots, behavioral patterns, and IP blocking. On the attack side, he discusses targeted vs non-targeted attacks, OCR, JavaScript execution, and honeypot avoidance. He concludes by suggesting it may be better to stop trying to bot-proof sites and make data available through APIs instead.
This presentation is the accumulation of several internet resources on why unit testing is a good thing. It debunks common excuses to not write unit tests, and shows how writing unit tests can actually speed up software development.
It's Not Just a Phase: Learning To Love Full Stack DevelopmentAlexis Ewing-Moody
There is an abundance of specialist positions in the tech industry. This talk highlights the need for all developers to think holistically about their applications/features.
Selenium Conference India: Intersection of Automation and Exploratory TestingMaaret Pyhäjärvi
The document discusses the intersection of exploratory testing and test automation. It explores how exploratory testers can focus on the first test execution to break illusions about the code, while test automation specialists focus on repeating tests exactly. Both roles are valuable: exploratory testing finds thousands of bugs, while automation allows testing without testers and enables exploration. The document also discusses pairing, mob programming, and the value of learning over time through collaborating, pairing, exploring tests, and learning to program for testing purposes.
How Do You Know When You’re Ready in Your Internet Marketing?Trevor Dumbleton
It's easy to think that there's one more thing to do in your internet marketing and thus to never actually get anything ready and published. Check this out for help to stop you procrastinating as much and actually get stuff ready and launched!
Startupfest 2015: TOM WALSHAM (TWG) - "How to" StageStartupfest
How to save your early stage startup from certain doom
In this session, Tom will combine anecdotes and data to highlight some of the oft-repeated mistakes that startups make when trying to get themselves moving. Listen and learn from the mistakes of those before you. Examples include: Too much listening to users, not listening to users enough, cargo cultism, not looking at competitors, comparables and corpses and, most importantly, blindly following advice from people on a stage who give you startup advice.
TMAcad: We're work in Progress, Lessons on Becoming a Great TesterMaaret Pyhäjärvi
This document discusses becoming a great software tester and developing as a professional. It emphasizes continuous learning through empirical focus and experimentation. Testing is done by people, so personal skills and collaboration are important. The value of others' experiences is to give hope, not dictate how to proceed. Developing specialty and identity helps find communities to learn with, while technical skills allow contributing to the overall work.
The document discusses programming assignments that are given during job interviews. It begins by sharing an experience from a recent interview where the expected assignment was to implement Roman numerals but the interviewee was surprised with a numbers to text conversion problem instead. It then provides the code for a function to convert integers to text from 0 to 999. The document discusses observations about test-driven development (TDD) and different focuses on teasing out solutions versus problems. It also considers internal versus external focus and explores modes for interview assignments like homework, during the interview, or open book. Lastly, it provides suggestions for doing interviewing with code problems better such as asking the interviewee how they would showcase skills and giving feedback during the session.
TDD and agile methods originated from attempts to manage large software projects more effectively. TDD involves writing automated tests before code to specify requirements and catch errors early. It helps avoid major redesigns later. Tests should fail initially and then code is written to pass the test, followed by refactoring. Patterns like starting simply, faking dependencies, and generalizing from examples help get code passing tests quickly. Pitfalls include not starting with a failing test or refactoring tests improperly. The session covered TDD history and techniques, with examples and opportunities for further learning.
5 Essential Tips For Improving Your Website Mockups & Prototypes!Usersnap
Have you ever received feedback on new website mockups or prototypes starting with “Which language is that? I don’t understand “lorem ipsum!!”?
Well, yes? Then you’ve been there. And it isn’t really a great feeling. Not because of the question itself.
In this post we are going to show you 5 tips on how to prevent yourself from receiving such feedback and how to make your website mockups even better.
Hands off Exploratory Testing - Managing Testing at ScaleMaaret Pyhäjärvi
The document discusses exploratory testing and managing testing at scale. It advocates for a hands-off approach to testing that balances exploring to find issues with automating tests. It also emphasizes the importance of testing being a collaborative effort between testers, developers and product owners to continuously improve quality. The document provides guidance on focusing on impactful results, learning, and maintaining tester agency.
The document discusses breaking illusions in testing by discovering risks. It identifies five types of illusions that can occur: 1) code doing what it's supposed to, 2) product doing what it needs, 3) process able to deliver with change, 4) people having necessary skills, and 5) business model driving the right focus. Testers are encouraged to break out of functional boxes and challenge these illusions in order to provide more valuable information. Experience reports are preferred over definitions or methods.
The document discusses exploratory testing and concepts such as testing with intent, testing as performance versus testing as artifact creation, and realizing the dynamic nature of testing. It provides examples of exploratory testing activities like finding the happy path in a system, identifying coverage, and reporting bugs using the RIMGEA method. The document also examines learning about features in layers and different roles in testing such as testers, programmers, and test automators. Overall, it presents exploratory testing as a systematic and rigorous approach to discovering risks in a system through analysis and testing heuristics.
6 things that will kill your new product _bethtemple4uBeth Temple
Too many new products fail when they don't have to. Here are 6 things that kill your chance at product success. It is the 'don't do' list you don't want to miss.
This document discusses various techniques for exploratory testing, including thinking outside the box when testing. It provides examples of riddles and clues to stimulate new perspectives, and suggests pretending to take on different user roles to test from various viewpoints. The document also outlines heuristics like HICCUPS and considerations for testing various elements of a product like structure, function, and interfaces. It concludes with an exploratory testing dice roll technique to help guide exploratory sessions.
A quick guide to some prominent Ruby on Rails learning materialsThomas Elam
The document provides a quick guide to prominent Ruby on Rails learning materials, including websites like ruby-doc.org and rubyonrails.org that contain documentation and guides. It recommends starting with basic introductory resources like Ruby in 20 Minutes and 10 Minutes to Your First Ruby Application before more advanced books. The document cautions that many Rails books become outdated quickly and to be careful of poor or glib advice when learning.
1. This document provides instructions for conducting a usability test of a selected website as part of a web design course assignment. Students are instructed to identify key user tasks, generate scenarios and questions to test 3 of those tasks, find a user to test, and record and submit the test and a reflection.
2. The purpose is to help students identify problem areas on the website to inform their redesign project. Students will be graded on the thoughtfulness of their test, video quality, and reflection analysis.
3. The document includes sample scripts for introducing and conducting the test, which involves getting background on the user, having them explore the site, then working through the 3 scenarios while thinking aloud.
This document discusses paraphrasing and provides tips for doing it easily and freely online. It defines paraphrasing as changing the structure and words of a text to create a new unique version. It recommends using online paraphrasing tools which can generate a new text in seconds without registration. For more accurate paraphrasing, it suggests manually reading the text carefully multiple times, taking notes, creating a plan and changing each sentence while maintaining correct grammar. The document also discusses smartphone usage statistics and the potential for overuse of technology to negatively impact social skills.
This document contains snippets from Maaret Pyhäjärvi's website about testing and quality assurance. It discusses topics like making customers and teams awesome, the importance of learning, taking risks, and viewing one's role as a catalyst for change, conscience for quality, cheerleader for others, and critical thinker. It emphasizes focusing on generativity over just productivity and caring about work over personal credit. The document promotes concepts like thinking systemically, having a growth mindset, and assuming positive intent from others.
This document provides an overview of software testing concepts and best practices. It discusses the differences between checking, verification, and validation versus exploration, discovery, investigation, and learning when it comes to testing. The benefits of unit testing, integration testing, and continuous integration are outlined. Best practices around mock objects, stubs, test coverage, and test-driven development are also covered. The document emphasizes that the goal of testing should be to write faster and better code, and to prioritize business requirements when deciding what to test.
7 lessons learned building high availability / performance systems - CM2015Francesco Degrassi
Slides for my talk "Never gonna give you up, never gonna let you down - 7 lessons learned building high availability, high performance systems".
Presented at Codemotion Berlin 2015
BDD is not about test automation, it's about testing what you don't knowAxel Berle
Specification and Documentation are still considered the "ugly sisters" in Agile software development. The Agile Manifesto explicitly puts them on the right side, the "bad" side, "…working software over comprehensive documentation." Agile testing takes a holistic approach towards the triad of specification, documentation and testing. We know that in an Agile world, it doesn’t make sense to separate these in separate phases or roles. But how do you actually make this happen? How do teams actually weave these three activities into their daily work? In this presentation I focus on the requirements elicitation and documentation aspect of BDD and show a technique called "scaled example mapping" that can help you jump start your Backlog Refinement sessions.
The document outlines 11 rules that all programmers should live by. The rules include: focusing on solving problems rather than technologies; prioritizing clear code over clever code; only writing necessary code; avoiding comments by using clear naming; fully understanding requirements before writing code; testing code before releasing it; learning something new daily; enjoying writing code; recognizing limited knowledge; best practices depending on context; and striving for simplicity. The author provides explanations and examples for each rule.
Selenium Conference India: Intersection of Automation and Exploratory TestingMaaret Pyhäjärvi
The document discusses the intersection of exploratory testing and test automation. It explores how exploratory testers can focus on the first test execution to break illusions about the code, while test automation specialists focus on repeating tests exactly. Both roles are valuable: exploratory testing finds thousands of bugs, while automation allows testing without testers and enables exploration. The document also discusses pairing, mob programming, and the value of learning over time through collaborating, pairing, exploring tests, and learning to program for testing purposes.
How Do You Know When You’re Ready in Your Internet Marketing?Trevor Dumbleton
It's easy to think that there's one more thing to do in your internet marketing and thus to never actually get anything ready and published. Check this out for help to stop you procrastinating as much and actually get stuff ready and launched!
Startupfest 2015: TOM WALSHAM (TWG) - "How to" StageStartupfest
How to save your early stage startup from certain doom
In this session, Tom will combine anecdotes and data to highlight some of the oft-repeated mistakes that startups make when trying to get themselves moving. Listen and learn from the mistakes of those before you. Examples include: Too much listening to users, not listening to users enough, cargo cultism, not looking at competitors, comparables and corpses and, most importantly, blindly following advice from people on a stage who give you startup advice.
TMAcad: We're work in Progress, Lessons on Becoming a Great TesterMaaret Pyhäjärvi
This document discusses becoming a great software tester and developing as a professional. It emphasizes continuous learning through empirical focus and experimentation. Testing is done by people, so personal skills and collaboration are important. The value of others' experiences is to give hope, not dictate how to proceed. Developing specialty and identity helps find communities to learn with, while technical skills allow contributing to the overall work.
The document discusses programming assignments that are given during job interviews. It begins by sharing an experience from a recent interview where the expected assignment was to implement Roman numerals but the interviewee was surprised with a numbers to text conversion problem instead. It then provides the code for a function to convert integers to text from 0 to 999. The document discusses observations about test-driven development (TDD) and different focuses on teasing out solutions versus problems. It also considers internal versus external focus and explores modes for interview assignments like homework, during the interview, or open book. Lastly, it provides suggestions for doing interviewing with code problems better such as asking the interviewee how they would showcase skills and giving feedback during the session.
TDD and agile methods originated from attempts to manage large software projects more effectively. TDD involves writing automated tests before code to specify requirements and catch errors early. It helps avoid major redesigns later. Tests should fail initially and then code is written to pass the test, followed by refactoring. Patterns like starting simply, faking dependencies, and generalizing from examples help get code passing tests quickly. Pitfalls include not starting with a failing test or refactoring tests improperly. The session covered TDD history and techniques, with examples and opportunities for further learning.
5 Essential Tips For Improving Your Website Mockups & Prototypes!Usersnap
Have you ever received feedback on new website mockups or prototypes starting with “Which language is that? I don’t understand “lorem ipsum!!”?
Well, yes? Then you’ve been there. And it isn’t really a great feeling. Not because of the question itself.
In this post we are going to show you 5 tips on how to prevent yourself from receiving such feedback and how to make your website mockups even better.
Hands off Exploratory Testing - Managing Testing at ScaleMaaret Pyhäjärvi
The document discusses exploratory testing and managing testing at scale. It advocates for a hands-off approach to testing that balances exploring to find issues with automating tests. It also emphasizes the importance of testing being a collaborative effort between testers, developers and product owners to continuously improve quality. The document provides guidance on focusing on impactful results, learning, and maintaining tester agency.
The document discusses breaking illusions in testing by discovering risks. It identifies five types of illusions that can occur: 1) code doing what it's supposed to, 2) product doing what it needs, 3) process able to deliver with change, 4) people having necessary skills, and 5) business model driving the right focus. Testers are encouraged to break out of functional boxes and challenge these illusions in order to provide more valuable information. Experience reports are preferred over definitions or methods.
The document discusses exploratory testing and concepts such as testing with intent, testing as performance versus testing as artifact creation, and realizing the dynamic nature of testing. It provides examples of exploratory testing activities like finding the happy path in a system, identifying coverage, and reporting bugs using the RIMGEA method. The document also examines learning about features in layers and different roles in testing such as testers, programmers, and test automators. Overall, it presents exploratory testing as a systematic and rigorous approach to discovering risks in a system through analysis and testing heuristics.
6 things that will kill your new product _bethtemple4uBeth Temple
Too many new products fail when they don't have to. Here are 6 things that kill your chance at product success. It is the 'don't do' list you don't want to miss.
This document discusses various techniques for exploratory testing, including thinking outside the box when testing. It provides examples of riddles and clues to stimulate new perspectives, and suggests pretending to take on different user roles to test from various viewpoints. The document also outlines heuristics like HICCUPS and considerations for testing various elements of a product like structure, function, and interfaces. It concludes with an exploratory testing dice roll technique to help guide exploratory sessions.
A quick guide to some prominent Ruby on Rails learning materialsThomas Elam
The document provides a quick guide to prominent Ruby on Rails learning materials, including websites like ruby-doc.org and rubyonrails.org that contain documentation and guides. It recommends starting with basic introductory resources like Ruby in 20 Minutes and 10 Minutes to Your First Ruby Application before more advanced books. The document cautions that many Rails books become outdated quickly and to be careful of poor or glib advice when learning.
1. This document provides instructions for conducting a usability test of a selected website as part of a web design course assignment. Students are instructed to identify key user tasks, generate scenarios and questions to test 3 of those tasks, find a user to test, and record and submit the test and a reflection.
2. The purpose is to help students identify problem areas on the website to inform their redesign project. Students will be graded on the thoughtfulness of their test, video quality, and reflection analysis.
3. The document includes sample scripts for introducing and conducting the test, which involves getting background on the user, having them explore the site, then working through the 3 scenarios while thinking aloud.
This document discusses paraphrasing and provides tips for doing it easily and freely online. It defines paraphrasing as changing the structure and words of a text to create a new unique version. It recommends using online paraphrasing tools which can generate a new text in seconds without registration. For more accurate paraphrasing, it suggests manually reading the text carefully multiple times, taking notes, creating a plan and changing each sentence while maintaining correct grammar. The document also discusses smartphone usage statistics and the potential for overuse of technology to negatively impact social skills.
This document contains snippets from Maaret Pyhäjärvi's website about testing and quality assurance. It discusses topics like making customers and teams awesome, the importance of learning, taking risks, and viewing one's role as a catalyst for change, conscience for quality, cheerleader for others, and critical thinker. It emphasizes focusing on generativity over just productivity and caring about work over personal credit. The document promotes concepts like thinking systemically, having a growth mindset, and assuming positive intent from others.
This document provides an overview of software testing concepts and best practices. It discusses the differences between checking, verification, and validation versus exploration, discovery, investigation, and learning when it comes to testing. The benefits of unit testing, integration testing, and continuous integration are outlined. Best practices around mock objects, stubs, test coverage, and test-driven development are also covered. The document emphasizes that the goal of testing should be to write faster and better code, and to prioritize business requirements when deciding what to test.
7 lessons learned building high availability / performance systems - CM2015Francesco Degrassi
Slides for my talk "Never gonna give you up, never gonna let you down - 7 lessons learned building high availability, high performance systems".
Presented at Codemotion Berlin 2015
BDD is not about test automation, it's about testing what you don't knowAxel Berle
Specification and Documentation are still considered the "ugly sisters" in Agile software development. The Agile Manifesto explicitly puts them on the right side, the "bad" side, "…working software over comprehensive documentation." Agile testing takes a holistic approach towards the triad of specification, documentation and testing. We know that in an Agile world, it doesn’t make sense to separate these in separate phases or roles. But how do you actually make this happen? How do teams actually weave these three activities into their daily work? In this presentation I focus on the requirements elicitation and documentation aspect of BDD and show a technique called "scaled example mapping" that can help you jump start your Backlog Refinement sessions.
The document outlines 11 rules that all programmers should live by. The rules include: focusing on solving problems rather than technologies; prioritizing clear code over clever code; only writing necessary code; avoiding comments by using clear naming; fully understanding requirements before writing code; testing code before releasing it; learning something new daily; enjoying writing code; recognizing limited knowledge; best practices depending on context; and striving for simplicity. The author provides explanations and examples for each rule.
The Most Important Thing: How Mozilla Does Security and What You Can Stealmozilla.presentations
The document discusses Mozilla's approach to software security and provides recommendations for how to implement an effective security process. Some of the key points covered include:
1) Security is not a linear process and should have feedback loops to continuously learn from problems and prevent recurrences.
2) The most important thing is to systematically capture knowledge from security incidents to avoid repeating mistakes.
3) Extensive testing is critical to maintain security and catch issues early, with Mozilla running over 55,000 automated tests daily.
4) Code reviews should be mandatory to catch mistakes and spread security knowledge throughout the organization.
Unit testing is easy... In a perfect world.
Our world is not.
This talk will cover a bunch of tips, tricks, and techniques to retrofit ugly legacy applications so parts of them can be unit tested.
(Examples given in Java using JUnit and Mockito)
Unit testing is commonly misunderstood to be about finding bugs, when its true purpose is to prevent bugs from being introduced. Writing unit tests requires designing code for testability from the beginning. The tests should focus on internal quality and design rather than just external requirements. Unit tests should be written by the same developers who write the code to leverage their domain knowledge, and they should be added as the code is written rather than as an afterthought. When done properly, unit testing leads to more stable, maintainable code and higher productivity over the long run.
Overcoming Delay: How The Best Developers Increase ProductivityPaul Gower
In the software industry, it’s common to be on a project with an aggressive timeline. Even if the schedule was correct, plans don’t always go the way you expect and become off track. Teams end up working more extended hours, try to add people to the project or make other heroic efforts to try and “save the day’ and finish on time. In my experience, rarely have those efforts worked and when it did, the team was so burned out it took several weeks to get motivated to tackle another project.
There should be a better way to complete projects on time, so teams feel a sense of accomplishment and are excited to take on the next project. In this session, we discuss three key behaviors you can do with your team, unlocking a better way to work to help the team succeed.
Blameless CI - Bashing cultural monsters in continuous integrationVivek Ganesan
This document discusses continuous integration and the importance of avoiding blame when integration failures occur. It notes that code commits are like merging cars on a road, where failures are not always avoidable due to changes from other developers. When failures do happen, the focus should be on fixing the problem rather than punishing those who caused it. Metrics like time to resolve failures and number of unavoidable issues addressed are recommended over tracking individuals who cause failures. Creating a blame-free culture of trust and transparency is key to effective continuous integration.
Bashing cultural monsters in continuous integration by Vivek Ganesan XP Confe...XP Conference India
Does your organization frown upon “Build Breakers”? Does your team spend a lot of time fixing integration issues in CI? Do you see a lot of “Who broke the build now?” emails? Do your team members hesitate to commit their code for the fear of causing a build failure? If you wish to know what you can do to make the situation better, this session is for you. In this session, Vivek talks about Continuous Integration and its importance to eliminate certain risks, particularly when multiple teams are rallying towards a planned release.
Too Frequent Continuous Integration Build Failures?Vivek Ganesan
This document discusses how to address frequent build failures in continuous integration (CI). It notes that CI requires continuous integration of code, integration testing, and a stimulus-response to build failures. However, many organizations blame individuals for failures rather than fixing issues quickly. This can negatively impact commit frequency, risk-taking, and motivation. Build failures are not always in a developer's full control, similar to merging traffic. The document recommends focusing on fixing builds quickly rather than blame, tracking red build time and unavoidable failures, and creating an atmosphere of trust rather than blame.
Tom Leclerc discusses top questions about app store optimization (ASO). ASO is about optimizing visibility and attractiveness, not a silver bullet or directly measurable by downloads. Choosing keywords involves brainstorming, competitor analysis, and balancing traffic with competition. While ASO success varies, ranking in the top 20 for relevant keywords can help. Localization and following each platform's best practices are recommended. ASO requires ongoing effort such as revisiting keywords with each app update.
The document provides a list of "worst practices" to avoid when using the Grails web framework. Some of the worst practices include overusing copy and paste coding, not implementing adequate testing or security measures, putting too much logic in GSP view templates, avoiding documentation and code organization practices, and not taking advantage of available Grails resources like documentation and mailing lists. The goal is to humorously highlight practices that could negatively impact a Grails application.
Cracking the Product Manager Interview with Gayle McDowellProduct School
Gayle McDowell gives a presentation on cracking the product manager interview. She discusses common interview questions and frameworks, including behavioral, case study, and estimation questions. She emphasizes focusing on the user, structuring responses, and showing product insight. McDowell also provides resources for further preparing for PM interviews.
Design Thinking in the Product Development Process - Product tank oxford AJ Justo
This document provides an overview of design thinking and its role in the product development process. It discusses the key aspects of design thinking, including the double diamond model and 5-step process of empathize, define, ideate, prototype, and test. Additionally, it compares design thinking to other approaches like kaizen, discusses how to apply techniques like divergent/convergent thinking. The document also provides examples of how design thinking has benefited companies and encourages readers to start incorporating its principles into their own work.
Usability testing involves having people complete tasks while thinking aloud to provide insight into their thought processes. It can be done using paper prototypes, websites, or existing sites. Benefits for designers include uncovering unexpected issues, testing assumptions, and getting stakeholder buy-in. Benefits for site owners are fixing problems early when cheaper, improving customer satisfaction, and increasing conversion rates. Guerilla or informal testing is quick, inexpensive, and provides qualitative insights that can immediately feed back into the design process. It involves recruiting your own test subjects and moderating the sessions yourself.
How To Compete Against The Big Fish (eMetrics Summit, Milan, Nov. 2016)Mogens Møller
Mogens Møller presents how smaller companies can compete against larger competitors. He provides three key takeaways: 1) Don't just be an order receiver, help guide customers to the right product. 2) Know your customers by creating real personas. 3) Create "no-brainers" that make the customer's decision very easy. Møller then outlines a repeatable three-step process: conducting daily automatic emails, quarterly phone interviews, and biannual usability tests, in order to continually learn and improve the customer experience. By focusing on the customer through this process, smaller companies can outcompete larger competitors.
The document discusses best practices for effective unit testing. It covers the test pyramid, benefits of good tests, test schemas, tips and guidelines. The test pyramid emphasizes having more simple unit tests, fewer integration tests, and even fewer end-to-end tests. Good tests provide confidence, help design, document requirements and make code more robust. Tests should have clear names, single assertions, and arrange-act-assert structure. Edge cases, exceptions and return values should be prioritized. Tests should be readable and not rely on implementation details.
The document provides advice for starting a web startup. It discusses coming up with ideas by solving your own problems or fixing issues with other apps. It recommends launching fast with a minimum viable product and failing early. Tips include picking a good name, hiring a designer, creating a landing page and blog, and reading books and articles about startups. The goal is to help foster more tech startups in Armenia by sharing lessons learned.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
GraphRAG for Life Science to increase LLM accuracyTomaz Bratanic
GraphRAG for life science domain, where you retriever information from biomedical knowledge graphs using LLMs to increase the accuracy and performance of generated answers
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...Alex Pruden
Folding is a recent technique for building efficient recursive SNARKs. Several elegant folding protocols have been proposed, such as Nova, Supernova, Hypernova, Protostar, and others. However, all of them rely on an additively homomorphic commitment scheme based on discrete log, and are therefore not post-quantum secure. In this work we present LatticeFold, the first lattice-based folding protocol based on the Module SIS problem. This folding protocol naturally leads to an efficient recursive lattice-based SNARK and an efficient PCD scheme. LatticeFold supports folding low-degree relations, such as R1CS, as well as high-degree relations, such as CCS. The key challenge is to construct a secure folding protocol that works with the Ajtai commitment scheme. The difficulty, is ensuring that extracted witnesses are low norm through many rounds of folding. We present a novel technique using the sumcheck protocol to ensure that extracted witnesses are always low norm no matter how many rounds of folding are used. Our evaluation of the final proof system suggests that it is as performant as Hypernova, while providing post-quantum security.
Paper Link: https://eprint.iacr.org/2024/257
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
2. Blake Commagere @commagere
Who the hell am I?
It’s a fair question
●Started seven companies
oFive of those have been bought
●Raised over 12M Angel / VC
●I build viral things
oPlaxo
oCauses
oVampires
●I’m obsessed with human behavior
2
3. Blake Commagere @commagere
My Fucking Talks
Analogies Rule
Dave McClure Blake Commagere
●Makes sailors blush with
his swearing
●Occasionally uses
hyperbole in his talks
●Is funny
●Makes Dave McClure
blush with his swearing
●The most egregious
abuse of hyperbole
●Thinks he’s funny
3
4. Blake Commagere @commagere
This talk is for you.
Interrupt at any point.
Don’t be shy.
If it sucks and you never say
anything, I’m blaming you.
4
5. Blake Commagere @commagere
What I’m covering
●What the hell is A/B testing?
●Why should you care?
●How should you A/B test?
●How can A/B testing fuck you over?
●A few ancillary benefits of A/B testing
5
6. Blake Commagere @commagere
What I’m NOT covering
AKA “Shit you should Google if you don’t already know”
●Familiarize yourself with concepts like
oConfidence Intervals
oComparative Error
oStatistical Significance
oSample Size requirements
FYI, there are online calculators for all these things
●How to fucking do math
oYes there’s a lot of math in A/B Testing
oChances are, the tools you use will do the math for you
If not, your code better do the math for you
6
8. Blake Commagere @commagere
What the hell is A/B Testing?
Will it hurt?
●Randomized Experiment
oControl & Variant
oTests against a specific goal
oTypically you want to establish Statistical Significance
with a Confidence Level of 95%
●Bucket or Split Testing
oTechnically, this is what you want most of the time
oMultiple variants
oPeople usually say A/B when they mean Bucket/Split
oJust go with it
8
10. Blake Commagere @commagere
Do I really need A/B Testing?
Technically, you may not need it
●Do you have users?
●If not, do you plan on having users?
●If not… congrats! You don’t need A/B Testing
because you don’t have a business!
●For everyone else, you need A/B Testing.
10
11. Blake Commagere @commagere
You are not your user
Your users are much, much stupider
You Your User
●Busy as hell
●Dedicated
●Very knowledgeable
●Eager to learn
●Not Stupid
●Lazy
●Impatient
●Stupid
●Stupid
●Real. Stupid.
11
12. Blake Commagere @commagere
The Result?
You’re building the product for you
●You are not your user
●Your instincts are probably wrong
●Your wants/needs are probably different
●You view the market differently
12
13. Blake Commagere @commagere
Still not convinced?
●Create and Make are synonyms
●“Make an Ad” vs “Create an Ad”
●Software Prefers ‘Create’ because REST, CRUD
●Make outperformed by up to 20% for non-artists
●There is a mental barrier to Create - it sounds
more involved/complex. Making is easier.
13
Create vs Make - one word makes all the difference
15. Blake Commagere @commagere
Blockers on your A/B testing
If this is happening, all your tests will suck
●Shit is broken
oFIX IT NOW WHY ARE YOU FUCKING READING THIS
●Shit is slow
oPageSpeed on frontend,
oProfilers on backend / mobile
●Official definitions of slow*
oA webpage that takes > ~2 seconds & no progress indicator
oAn app that isn’t immediately responsive
*according to me
15
16. Blake Commagere @commagere
Ensuring tests maximize impact
AKA the most obvious advice ever
1)ABT. Always Be Testing
2)Win as frequently as possible
3)In areas that matter
●Any moron can get #1 right
●Most morons can’t do #2 or #3
●Essentially, you need to know what to test and
how to test.
16
17. Blake Commagere @commagere
Only a few features matter
That’s it
●Users are either engaged or not
●Data on your userbase tells you which 2-3 features
matter
●Optimize these features
●Make Onboarding focus on these features
●Facebook example:
oFriends, Photos, Status Updates
oNew User Experience focused on these
oNetwork leverage to help new users
17
18. Blake Commagere @commagere
Similarly, only a few flows matter
●Is a flow critical?
odoes it get a user engaged with a critical feature
odoes it help another user engage with a critical feature
●Is every step necessary?
oAlmost always, the answer is no
●Where are the leaks?
oAlmost always, this is the result of bad messaging
oFind the worst leak, fix it, then move to the next one
18
That’s also it
19. Blake Commagere @commagere
Your messaging is never perfect
AKA test your fucking messaging
●In most cases it is better to:
oUse fewer words - your users are lazy
oBe Colloquial - your users are dumb
oTarget the user - your users are selfish
●You can always target better
oSome data is implicit to your existing data
oYour users only care about what they get
●Language is always evolving
oLanguage in every channel is evolving as well
oChannels change & language in a channel changes!
19
20. Blake Commagere @commagere
Tools of the trade
●Web:
oGoogle Analytics (Content Experiments)
oOptimizely
oMixPanel
●Mobile:
oMixPanel
oOptimizely
oSwrve
20
21. Blake Commagere @commagere
Which tool should I use?
●The best one for your company:
oIt depends
oOn. so. many. things.
●You’ll end up doing some coding too probably.
●The worst one for your company?
oNot having one
oCreating your own from scratch
21
23. Blake Commagere @commagere
Pitfalls
Some very common mistakes
●Find statistical significance sample size in advance
oYou want 95% confidence level
oWith 20,000 users, this can be 377 people. NOT
50/50
●Do not take convenience samples
o2-4 weeks is ideal
●Test in 7, 14, 28 day intervals
oHuman behavior is day dependent, tied to week
oYour results will skew if you do 8 day tests
23
24. Blake Commagere @commagere
The Lies We Tell Ourselves
Sometimes we like lying because we’re lazy
●You can make the numbers lie
●Avoiding a channel that you hate
oEmail works
oSEO works
oTwitter works
oFacebook works
oIf a channel doesn’t work for you,
you’re probably doing it wrong
24
27. Blake Commagere @commagere
Designer vs Engineer
Your users are much, much stupider
Designer Engineer
●Better not suck at design
●Better have design exp
●Better respect design
●Will not always agree with
engineers on design
●Not Stupid
●Probably sucks at design
●May not have design exp
●Should respect design
●Will not always agree
with designers on design
●Not Stupid
27
28. Blake Commagere @commagere
Using A/B Testing for Team Bonding
●The loudest voice usually gets their way
●This can stifle good ideas
●Sometimes it’s ok to test a bad idea
●Becomes a teachable moment
●You could be wrong (GASP!)
28
Ok, obviously I’m a huge fan of Dave. I just like giving him attitude and poking fun at him.
What is NOT covered is important to stress - you can look this shit up. If you don’t know this stuff already, don’t worry, I’m not going to waste everyone’s time making them do formulas. But someone on the team better be familiar with these concepts so that you A/B test correctly.
Your messaging will be largely rendered irrelevant if it takes 7 seconds to load
Your messaging will be largely rendered irrelevant if it takes 7 seconds to load
Your messaging will be largely rendered irrelevant if it takes 7 seconds to load