Two weeks ago, we hosted our QA We-Tech event where team members from Perficient Latin America shared great QA content. Our first session was led by three great speakers that shared their knowledge about exploratory testing, autonomous testing, and micro services-oriented component testing.
On day two, we covered topics such as skills for a QA role, testing for projects with AI, and test data configuration. On day three, we had our live coding session that was intended to go beyond theory and strive for a more hands-on scenario.
In case you missed any of the sessions, here is a recap of the tools, books, tips, and suggestions that our QA team members shared during the QA We-Tech.
Exploratory Testing Session
Marlon Aguilar, QA Manager talks about how we view exploratory testing at Perficient and how we have been evolving the role of a QA manual tester to a more exploratory role. He starts by defining what is testing and explaining how it has evolved over time. Before, testing was much more focused on checking, processing information, and monitoring known risks. But, what about the unknown? That is essentially what exploratory testing tackles. It is a process meant to discover unknown risks and detect potential issues. In this sense, Marlon highlights that testing is a result of adding up two skills: checking and exploring focused on risk and product risk mitigation.
Here are some books and key referents that Marlon suggests as great assets to dig deeper into the QA field and exploratory testing:
- Agile Testing and More Agile Testing by Lisa Crispin and Janet Gregory
- Exploratory Software Testing by James Whittaker
- How Google Test by James Whittaker
- Explore It by Elisabeth Hendrickson. In this book, Elisabeth will amplify your vision as she talks about heuristics and how the concept applies to test cases, learning, and understanding.
- James Back and Michael Bolton are the two people that are behind the well-known Context-Driven School. They defined the concept of Rapid Software Testing.
- Dan Ashby, calls himself a modern software testing enthusiast with a modern view of software testing. Dan mainly focuses on the idea of not thinking about the types of tests, instead, he suggests focusing on the product risk and how to apply critical and lateral thinking to testing processes.
- Martin Fowler, a renowned individual in the software industry. He wrote a book related to refactoring where he digs deep into concepts and practices on how to do refactoring with an emphasis on testing.
Key Advice for Exploratory Testing
- Review the Test Pyramid and what it hides.
- Read more about the inspect and adapt concepts.
- Never stop exploring.
- Do not limit yourself to what others might tell you.
- Know what has been explored, what is missing, and what were the results.
- Keep looking for better ways to explore.
- Rapid reporter: it is a free tool that can be used as a learning mechanism for people to do better exploratory sessions.
Automation is an accelerator: if your test cases mitigate product risks, automation magnifies and accelerates the process, if, on the contrary, you have test cases that do not mitigate real risks of your product, automation magnifies and accelerates waste, Marlon Aguilar.
If you want to read more about Exploratory Testing, here is a great blog.
Autonomous Testing Session
Yesid Lopez is a Software Development Engineer in Test (SDET) and he begins his presentation by explaining the reason why we automate testing.
Automation testing is the cornerstone of the DevOps culture. It is a way to validate what is constantly being integrated into the source code. Additionally, Yesid mentions that automation is key because it accelerates feedback loops.
Thanks to automation, bugs can be identified faster and before they even get to production. This is very valuable as it directly impacts team efficiency.
Here are some sources that Yesid used to guide his presentation and that can help you explore more about autonomous testing:
During the session, Yesid shows a quick demo where he puts into practice several tools and shows their functionality. If you want to learn more about these tools, please visit our YouTube playlist here.
Microservices Oriented Component Testing Session
Sebastian Villegas is a Software Development Engineer in Test (SDET) and he starts by explaining what component tests are and he borrows the definition used by Toby Clemson on Martin Fowler’s website to explain this concept.
During Sebastian´s presentation, you can learn how to execute a component test in a very detailed process.
QA Skills to Build High-Quality Products Session
Alejandro Perdomo is a Software Development Engineer in Test (SDET), and his session focuses on the skills needed for a role in QA. He tackles all the key aspects that a person looking for a career in the field of QA should have in order to build high-quality products.
Alejandro talks about quality strategy, quality practices, and QA skills. One key topic he highlights is the concept of Quality Mindset. Here, he states that if you are planning to enter the QA world and want to build high-quality products, you might consider changing your mindset and adopt a more DevOps-oriented mindset.
According to the physicist and statistician William Eduards Deming, quality is an inherent attribute of the product from the beginning of its manufacture. This idea can be better understood in the following books:
These books can give you a more detailed understanding of what inspection and quality mean. Here, technical aspects will be described as well as the soft skills needed to achieve high quality within a project, a product, and a team.
Testing for Projects with AI Session
Cesar Clavijo is a QA Engineer, and he begins by explaining the concept of artificial intelligence. For that, he uses a website called Quick,Draw! to show how AI works based on data. The website was built based on AI.
Tools and frameworks
- Programming Languages: R, and Python
- Data science: libraries such as Pandas, Numpy, Scikit-learn
- Deep learning frameworks: PyTorch, TensorFlow, and Keras
- Computer vision: YOLO and OpenCV
- Researching more about Andrew NG, a well-known person in the field of AI. If you want to start applying AI in a project and understand how AI works, Andrew NG would be a good source of knowledge.
- Review the Certified Tester in Artificial Intelligence certification. It has a strong syllabus and overall good content that would be valuable to understand and apply.
Test Data Configuration Session
German Potes is a Software Development Engineer in Test (SDET), and in his presentation, he talks about data setup and tests that use data sources.
German explains some of the issues that can be encountered in the process such as how to add the data, how to replicate data, and how to clean the data.
Additionally, German shows an example model where he adds data and then shows how to relate it. To make data human-readable he suggests having a YAML file. The objective here is to not mix code and data.
Tools and Frameworks
You can access the code used by German during his session here.
Live Coding Session: Contract Testing
Check the live coding session led by our QA Engineers, Paola Agudelo and Cristian Martinez, on our Twitch TV channel.