<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
	<channel>
		<title>Author at Infinum</title>
		<atom:link href="https://infinum.com/blog/author/endrina-eskic/feed/" rel="self" type="application/rss+xml" />
		<link></link>
		<description>Building digital products</description>
		<lastBuildDate>Fri, 10 Apr 2026 14:51:20 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>

					<item>
				<image>
					<url>19253362https://infinum.com/uploads/2024/04/Does-AC-affect-exploratory-testing-min.webp</url>
				</image>
				<title>Acceptance Criteria and Exploratory Testing – A Powerful Combo</title>
				<link>https://infinum.com/blog/acceptance-criteria-exploratory-testing/</link>
				<pubDate>Wed, 24 Apr 2024 11:28:43 +0000</pubDate>
				<dc:creator>Endrina Eskić</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=19253362</guid>
				<description>
					<![CDATA[<p>Discover how acceptance criteria and exploratory testing work together to enhance the software testing process.</p>
<p>The post <a href="https://infinum.com/blog/acceptance-criteria-exploratory-testing/">Acceptance Criteria and Exploratory Testing – A Powerful Combo</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-215"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-92">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-95"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-93">
	<p	class='typography typography--size-36-text js-typography block-paragraph__paragraph'
	data-id='es-94'
	>
	<strong>Let&#8217;s leave out the comparisons. Explore how acceptance criteria and exploratory testing complement each other to enhance the software testing process.</strong> </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-98"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-96">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-97'
	>
	Acceptance criteria and exploratory testing are often compared in the QA community. The debate about which one is better is constant; just try googling it.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-101"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-99">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-100'
	>
	On the other hand, there seems to be little discussion about how the two approaches shouldn&#8217;t be compared at all but rather used together. When we combine acceptance criteria and exploratory testing, we get the best of both (very different) worlds.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-104"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-102">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-103'
	>
	In this article, we&#8217;ll explore the two testing types through definitions and practical use cases and then see how they can complement each other to improve our QA process.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-107"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-105">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-106'
	>
	Exploratory testing ⇔ acceptance criteria</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-110"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-108">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-109'
	>
	Acceptance criteria are specific, measurable conditions that define when a project or task is considered complete and meets the set requirements. They ensure clarity, transparency, and alignment with client expectations.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-113"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-111">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-112'
	>
	On the other hand, exploratory testing is a flexible and intuitive approach where testers spontaneously explore and test software without predefined scripts. They rely on their <a href="https://infinum.com/blog/question-everything/" target="_blank" rel="noreferrer noopener">expertise and critical thinking</a> to find defects and get an understanding of the software&#8217;s behavior.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-116"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-114">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-115'
	>
	My interest in the relationship between the two testing types was sparked by a piece of feedback I once got. The comment was that I didn&#8217;t engage in enough exploratory testing because the task in question had very detailed acceptance criteria. After discussing this with my team lead, we concluded that this is potentially a team-wide issue. We decided to pursue this theory further and find out what the exact scope was.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-119"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-117">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-118'
	>
	Insights from Infinum&#8217;s QA team</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-122"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-120">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-121'
	>
	We organized a survey and asked our QA colleagues how often they engage in exploratory testing on tasks with acceptance criteria laid out in detail. Here&#8217;s what we learned:&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-125"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-123">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-124'
	>
	<li>All software testers employ both types of testing to a certain degree.</li><li>When testing, our team members don&#8217;t feel constrained by acceptance criteria.</li><li>Occasionally, they find major issues through exploratory testing on these tasks.&nbsp;</li><li>Most team members feel no drop in motivation when working on tasks with detailed acceptance criteria.</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-128"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-126">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-127'
	>
	We were curious to know their opinions about the topic, so we also asked how detailed acceptance criteria and exploratory testing complement each other, whether there are any specific types of tasks where exploratory testing provides more value even if detailed acceptance criteria are in place, and what resources or support would make their exploratory testing more effective. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-131"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-129">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-130'
	>
	The answers provided interesting insights, and we identified a couple of trends. What we learned helped us determine how exploratory testing and acceptance criteria team up in practice.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-134"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-132">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-133'
	>
	The exploratory testing and acceptance criteria combo in practice</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-137"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-135">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-136'
	>
	As we&#8217;ve learned, the combination of detailed acceptance criteria and exploratory testing is not just effective but also offers several different perspectives, providing an all-inclusive testing approach.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-140"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-138">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-139'
	>
	Combining the two can enhance the quality of the product and ensure the success of our projects upon delivery.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-142"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-141'
	>
	<strong>While detailed acceptance criteria are a solid foundation, exploratory testing provides a flexible approach where testers explore the software guided by their expertise</strong>.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-145"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-143">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-144'
	>
	There are specific scenarios where exploratory test sessions become not just valuable but essential in the process of testing software products. For example, if we are testing very complex features, dealing with frequently changing criteria, testing across different environments, handling different user interfaces, or facing critical bugs in the first round of testing, combining these approaches is a powerful tool for a well-rounded and complete software testing process.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-148"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-146">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-147'
	>
	With their diverse resources and support mechanisms, using exploratory testing on top of acceptance criteria can be further improved with the following:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-151"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-149">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-150'
	>
	<li>Providing enough time </li><li>Promoting collaboration and the right mindset </li><li>Ensuring clear communication </li><li>Having access to relevant information  </li><li>Relying on knowledgeable and experienced testers </li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-154"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-152">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-153'
	>
	These elements collectively contribute to a more effective and insightful exploratory testing process with acceptance criteria at its baseline.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-157"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-155">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-156'
	>
	Take your testing process to the next level</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-160"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-158">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-159'
	>
	A balanced approach through test plans</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-163"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-161">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-162'
	>
	Using this combined approach, we can create an environment that combines the strengths of scripted testing and unstructured exploration. With it, we are: </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-166"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-164">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-165'
	>
	<li>Encouraging a balanced approach through test plans</li><li>Incorporating exploratory testing in acceptance criteria templates </li><li>Recognizing the creative approach provided by exploratory testing</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-169"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-167">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-168'
	>
	By carving in additional time for exploratory testing sessions, implementing a prioritization system, and conducting retrospectives at the end of every testing phase, we also add flexibility to our <a href="https://infinum.com/blog/software-testing-process-vs-improvisation/" target="_blank" rel="noreferrer noopener">testing process</a>. When we allow ourselves to be more adaptable, we can respond to each project&#8217;s unique demands, ultimately leading to more effective and customized testing results.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-172"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-170">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-171'
	>
	Strengthening communication channels and enhancing team skills</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-175"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-173">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-174'
	>
	If you want to elevate your testing process, strengthening the communication channels within the project team and enhancing the skills and expertise of your testing team should be the first step.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-177"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-176'
	>
	<strong>Emphasize the importance of communication and collaboration or sharing experiences at every opportunity. You can do this by organizing internal meetings, testing sessions, and pair sessions. </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-180"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-178">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-179'
	>
	By providing opportunities for the exchange of experiences, the learnings of one team member benefit the entire team. When other people find themselves in a similar situation, they will have a better idea of what to do and how to do it.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-183"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-181">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-182'
	>
	To create the environment for these types of discussions, you can randomly pair team members and schedule a weekly session for them. That way, everyone will be able to see what others are working on, what testing techniques they are using, and what new knowledge they have acquired. They will also have the opportunity to learn something new by testing a piece of software they never had.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-186"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-184">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-185'
	>
	Enhancing the skills and expertise of our testing team contributes directly to the effectiveness of your testing processes.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-189"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-187">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-188'
	>
	Promoting continuous improvement</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-192"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-190">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-191'
	>
	In addition to the above, it is essential to promote continuous learning within a team. A <a href="https://infinum.com/blog/faq-software-testing/" target="_blank" rel="noreferrer noopener">skilled tester</a> who is always working on upgrading their knowledge is a vital element for a strong testing strategy. To motivate testers to work on continuous skill improvement, you can: </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-195"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-193">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-194'
	>
	<li>Establish a documentation repository </li><li>Invest in external training opportunities</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-198"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-196">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-197'
	>
	With a documentation repository, you can always point your team members to it to learn something new. When they are unburdened by time constraints, the learning can be more relaxing. A repository is also a place where all team members can share their experiences with certain tools, processes, ways of working, and other testing components at any time that suits them.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-201"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-199">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-200'
	>
	Further, investing in external training opportunities, whether different conferences or certificates, is a great way for team members to gain valuable knowledge that can improve the testing process on the projects they are working on.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-204"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-202">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-203'
	>
	A holistic approach to software testing</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-207"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-205">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-206'
	>
	People often go straight into comparing acceptance criteria and exploratory testing, failing to see their combined potential. As we&#8217;ve learned from our internal survey, our testers thankfully don&#8217;t feel constrained by acceptance criteria and often use both approaches.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-210"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-208">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-209'
	>
	Combining the structure provided by acceptance criteria and the flexibility of exploratory testing makes the testing process more robust. When we add opportunities for team collaboration and professional improvement to the mix, we&#8217;ve laid the foundation of a strong testing process across projects.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-213"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-211">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-212'
	>
	By applying this holistic approach to software testing, we get closer to a goal the testers, their company, and their clients share – better digital products with no bugs in sight.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/acceptance-criteria-exploratory-testing/">Acceptance Criteria and Exploratory Testing – A Powerful Combo</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>37999https://infinum.com/uploads/2023/04/QA-Process-vs-Improvisation-hero.webp</url>
				</image>
				<title>Process vs. Improvisation in Software Testing</title>
				<link>https://infinum.com/blog/software-testing-process-vs-improvisation/</link>
				<pubDate>Mon, 24 Apr 2023 15:57:04 +0000</pubDate>
				<dc:creator>Endrina Eskić</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=37999</guid>
				<description>
					<![CDATA[<p>Strike a balance between process and improvisation in software testing, and create a thorough, efficient, and adaptable testing approach. </p>
<p>The post <a href="https://infinum.com/blog/software-testing-process-vs-improvisation/">Process vs. Improvisation in Software Testing</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-355"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-216">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-219"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-217">
	<p	class='typography typography--size-36-text js-typography block-paragraph__paragraph'
	data-id='es-218'
	>
	<strong>In the world of software testing, there seems to be a constant debate about what is more effective – do you follow strict processes or allow room for improvisation? </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-222"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-220">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-221'
	>
	Sooner or later, all QA engineers will find themselves at a crossroads. Is it better to <a href="https://infinum.com/blog/improve-qa-testing-process/">structure your testing activities into a process</a> or just go with the flow? The answer is not that straightforward, as both approaches include certain benefits. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-225"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-223">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-224'
	>
	When you’re working on a large and complex project, missing even one test can have significant consequences. Adhering to a process ensures all tests are performed in a consistent manner, and all potential defects are covered. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-228"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-226">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-227'
	>
	On the other hand, some will argue that adapting to changing circumstances is crucial for effective testing.  When testers foster creativity and allow themselves to think outside the box, they can potentially discover more defects.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-230"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-229'
	>
	Having a defined process in place ensures thoroughness and consistency. But why stick to rigid processes in an industry that’s constantly evolving?</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-233"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-231">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-232'
	>
	So which way is the right one? We’ll explore the pros and cons of both in more detail, so you can consider all the aspects when deciding what path to follow.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-236"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-234">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-235'
	>
	Following a strict process in your software testing methodology</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-239"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-237">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-238'
	>
	A process is defined as a system of rules, procedures, and standards that must be adhered to precisely and consistently in order to accomplish a particular purpose.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-242"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-240">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-241'
	>
	From the QA perspective, it’s about being aware of the rules and specifications established by the framework and verifying that the development team complies with them. This includes tracking and evaluating development, identifying areas for growth, and providing comments to support the members in achieving their goals.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-245"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-243">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-244'
	>
	By adhering to the established procedures, the QA team can help maintain quality standards and guarantee that the project is delivered on time and within budget.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-248"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-246">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-247'
	>
	Pros of following a strict process</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-252"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-249">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-250'
	>
	<strong>Consistency</strong> <strong>makes it easier to identify patterns</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-251'
	>
	A process ensures that all necessary tests are performed consistently. This is especially important when multiple testers are involved because it confirms that everyone is on the same page. Consistency makes it easier to identify trends and patterns in defects, which can be useful for analyzing the root cause of an issue and improving the testing process. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-256"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-253">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-254'
	>
	<strong>Thorough testing covers more ground</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-255'
	>
	When you’re following pre-defined steps, it’s easier to make sure that all potential defects are identified. This is important for mission-critical systems where even a minor defect could have far-reaching consequences. You want to be certain that you’ve covered all your bases, even if it’s not immediately clear why you need a particular test. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-260"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-257">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-258'
	>
	<strong>Easier time and resource allocation</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-259'
	>
	A process makes it easier to predict the time and resources needed for testing, and this helps with project planning and budgeting. With this information, you can set expectations about the testing process with the stakeholders and management. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-263"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-261">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-262'
	>
	Cons of following a strict process</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-267"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-264">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-265'
	>
	<strong><strong>Reduced capability to respond to new information</strong></strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-266'
	>
	When you’re strictly adhering to a process, you may miss the chance to adapt to changing circumstances or new information. This could potentially lead to some missed defects or an inefficient testing process. In a rapidly evolving industry, it is important to be able to adapt and respond to new challenges as they arise. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-271"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-268">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-269'
	>
	<strong>A well-beaten path can lead to complacency</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-270'
	>
	Relying too heavily on processes may lead to a drop in creativity and out-of-the-box thinking. When you’re only sticking to what you’re used to, you can miss some opportunities for discovering defects. In addition, never veering away from processes can create a sense of complacency, as testers may begin to feel that they don’t need to think critically or creatively because they have a set process to follow. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-274"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-272">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-273'
	>
	Nurturing improvisation for more agility in software testing</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-277"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-275">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-276'
	>
	The term improvisation describes our capacity to change with the times and react in a flexible and original way.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-280"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-278">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-279'
	>
	Improvisation is crucial for dealing with unforeseen problems and changes that may occur during the development process. A QA team’s capacity for improvisation depends on their ability to change course mid-project and modify their strategy as necessary.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-283"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-281">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-282'
	>
	This is evident in the way a team responds to adjustments in the project parameters. Maybe they are looking for possibilities to optimize procedures or come up with original solutions to issues that arise. By allowing themselves to improvise, a QA team can ensure that the project remains on track and achieves its objectives even in the face of unforeseen difficulties.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-286"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-284">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-285'
	>
	Pros of improvisation</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-290"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-287">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-288'
	>
	<strong>Adaptability to changing circumstances</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-289'
	>
	In a field that is continually changing, adaptation can be crucial. The ability to improvise enables testers to address unforeseen difficulties or obstacles as they appear, potentially resulting in more effective problem-solving.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-294"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-291">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-292'
	>
	<strong>Improvisation develops creativity</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-293'
	>
	Allowing space for improvisation can encourage testers to be creative and think outside the box. QA specialists can approach the testing process from a different angle and thus discover more flaws. Creativity can also be a great asset.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-297"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-295">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-296'
	>
	Cons of improvisation</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-301"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-298">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-299'
	>
	<strong>Risk of omitting crucial tests</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-300'
	>
	There’s a reason why we go to the store with a shopping list. Just going with the flow can take your attention elsewhere so you unwillingly omit a test that may have been crucial. A process makes it easier to check all the boxes so no defects go under the radar. </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-305"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-302">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-303'
	>
	<strong>Increased risk of human error</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-304'
	>
	Our memory is unfortunately not 100% reliable. With no process to follow, it’s much easier to omit a certain test or perform it poorly. Certain applications are built in a way that just one bug left uncaught can have a cascading effect, so it’s better to reduce the risk of error as much as possible.  </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-309"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-306">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-307'
	>
	<strong>Confusing the stakeholders</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-308'
	>
	At Infinum, we highly value transparency and like to keep stakeholders informed about the processes involved in their digital product development projects. When testers improvise a lot, plans change, which can create confusion among the stakeholders and management. Confusion leads to misunderstandings and miscommunication, neither of which is welcome on a quality project.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-313"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-310">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-24-text js-typography bullet__heading'
	data-id='es-311'
	>
	<strong>Lack of documentation</strong></p><p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-312'
	>
	Without a defined process, it can be more difficult to document the testing procedures and results. And without proper documentation, it’s harder to track progress and identify trends or patterns in defects. Reproducing testing results or troubleshooting issues becomes more challenging as well.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-316"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-314">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-315'
	>
	How to formalize improvisation</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-319"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-317">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-318'
	>
	It’s important to realize that the choice between following strict processes and improvisation is not necessarily exclusive. You absolutely can combine both in your work to create a unique process that yields the best results. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-322"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-320">
	<p	class='typography typography--size-20-text-roman js-typography block-paragraph__paragraph'
	data-id='es-321'
	>
	The best way of going about that is to allow space for improvisation but approach it with care. In other words, to <em>formalize</em> it.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-324"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-323'
	>
	<strong>If a team decides to move away from the established process at a certain point, they need to define and document the steps they took. That way, they are incorporating improvisation <em>into </em>the QA procedure. </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-327"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-325">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-326'
	>
	For instance, if the development team improvises a solution to a certain issue, the QA team can assist by documenting what they’ve done and thus create a repeatable process that can be used going forward.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-330"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-328">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-329'
	>
	One way of accomplishing this is writing test cases based on the improvised solution. It’s a way of guaranteeing that the solution is completely tested and potential problems are found and fixed.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-333"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-331">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-332'
	>
	As a supplementary measure, the QA team might also want to conduct exploratory testing to find any unexpected behaviors that may have developed as a result of the improvisation.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-336"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-334">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-335'
	>
	Another method that helps formalize improvisation is organizing testing sessions with the development team. When the improvised actions are discussed and noted, the process can be well-documented and repeatable in the future.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-339"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-337">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-338'
	>
	By taking the necessary steps when allowing for improvisation, the QA team contributes to making the development process successful, efficient, and repeatable. <a href="https://infinum.com/blog/developer-tester-relationship/">When testers and developers work together</a> from the earliest possible stages of the process, even the most improvisation-dependent projects can be given some structure so that product quality remains a top priority.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-342"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-340">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-341'
	>
	Process vs. improvisation – all in good measure</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-345"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-343">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-344'
	>
	The balance between following a set of processes and improvisation in software testing is a complex one, and there is no one-size-fits-all solution. Both approaches have their pros and cons, and the most effective strategy may be to combine them both.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-348"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-346">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-347'
	>
	Ultimately, choosing your approach will depend on the specific goals of the project at hand. It is important to consider all aspects and implications and make a decision that aligns with the project’s needs. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-350"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-349'
	>
	By striking a balance between processes and improvisation, teams can create a testing approach that is thorough, efficient, and adaptable to changing circumstances. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-353"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-351">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-352'
	>
	Finding your testing path on a specific project may be difficult, but it gets easier when you focus on the final destination — assuring that the end product is of great quality and completely defect-free.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/software-testing-process-vs-improvisation/">Process vs. Improvisation in Software Testing</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>37382https://infinum.com/uploads/2023/04/istqb-exam-hero.webp</url>
				</image>
				<title>Don&#8217;t Think Twice, Take the ISTQB Foundation Level Exam</title>
				<link>https://infinum.com/blog/istqb-foundation-level-exam/</link>
				<pubDate>Tue, 11 Apr 2023 10:51:40 +0000</pubDate>
				<dc:creator>Endrina Eskić</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=37382</guid>
				<description>
					<![CDATA[<p>Since getting certified, I have gained more confidence, made progress in my work, and implemented the learnings to the projects I'm working on.</p>
<p>The post <a href="https://infinum.com/blog/istqb-foundation-level-exam/">Don&#8217;t Think Twice, Take the ISTQB Foundation Level Exam</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-453"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-356">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-359"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-357">
	<p	class='typography typography--size-36-text js-typography block-paragraph__paragraph'
	data-id='es-358'
	>
	<strong>Wanting to formalize my knowledge of software testing and establish a baseline understanding of the field, I decided to take the ISTQB Foundation Level exam.</strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-362"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-360">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-361'
	>
	As <a href="https://infinum.com/blog/improve-qa-testing-process/" target="_blank" rel="noreferrer noopener">a software tester</a>, I have always been interested in taking this well-known exam, but I never seemed to have enough time to really focus and study for it. However, I also knew that obtaining an ISTQB certification would be beneficial for my career, as it is widely recognized in the industry, and taking it demonstrates a commitment to professional development. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-365"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-363">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-364'
	>
	Recently, I decided to finally take the plunge and give my best to pass the ISTQB Foundation Level exam, so I wanted to share my experiences in more detail. If you’re interested in taking this exam, whether you’re an experienced software tester or just starting a career in QA, this article will help you know what to expect.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-368"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-366">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-367'
	>
	ISTQB and the Foundation Level exam</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-371"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-369">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-370'
	>
	First of all, a bit of background on ISTQB and the Foundation Level exam. The International Software Testing Qualifications Board (ISTQB) is a non-profit organization that provides a standardized framework for software testing certification. The Foundation Level exam is the entry-level exam in the ISTQB certification scheme and covers the fundamental concepts of software testing. This includes topics such as testing fundamentals, testing throughout the software life cycle, static testing, test design techniques, and tool support for testing. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-374"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-372">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-373'
	>
	Preparing for the exam</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-377"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-375">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-376'
	>
	To prepare for the exam, I used a combination of self-study and two Udemy courses. Another option that I explored, but ended up not pursuing, is preparing by taking a study course provided by a local training provider. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-380"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-378">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-379'
	>
	Self-study</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-383"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-381">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-382'
	>
	My self-study involved reading through the official ISTQB syllabus and studying the various topics covered in the exam. I found the syllabus to be comprehensive and well-organized, with clear learning objectives for each topic.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-386"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-384">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-385'
	>
	For the ISTQB Foundation Level exam, in particular, self-study was a crucial part of exam preparation for me. The syllabus gives a thorough overview of the subjects examined and lists the learning goals for each subject, and that helped me plan my studying time. Basically, I planned my self-study according to the syllabus to make sure I didn’t miss anything. I would say it took me about one and a half months of periodical study to go through the syllabus. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-389"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-387">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-388'
	>
	In addition to the ISTQB syllabus, I also made use of online resources such as practice exams and study guides to supplement my understanding of the material.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-391"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-390'
	>
	<strong>Being diligent and consistent in your methods is crucial when practicing self-study. You can create a schedule that works for you and set aside regular study time. </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-394"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-392">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-393'
	>
	This can include studying from study materials, going through the course outline, and taking mock tests. Track your progress as you go along with your self-study to find out where you might need more time to think or revise.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-397"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-395">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-396'
	>
	Udemy courses</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-400"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-398">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-399'
	>
	I received significant support and direction from the Udemy courses I took as I studied for the ISTQB Foundation Level exam. I took one that covered the entire syllabus and another that was solely an example of the foundation exam.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-403"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-401">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-402'
	>
	The course, which was presented by an expert software tester, provided insightful information and practical examples that made the content easier for me to comprehend. I discovered that self-study, along with the Udemy courses, was a really efficient approach to preparing for the exam. It took me about 30 hours to complete the courses.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-405"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-404'
	>
	<strong>The Udemy courses gave me more structure and direction as well as the chance to clarify any subjects that were unclear to me and to ask questions. </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-408"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-406">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-407'
	>
	Overall, the courses complimented my self-study and helped me to solidify my understanding of the material covered in the exam.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-411"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-409">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-410'
	>
	Study course provided by local trainer</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-414"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-412">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-413'
	>
	In addition to self-study and Udemy courses, attending a study course offered by a regional training provider is another option for getting ready for the ISTQB Foundation Level exam. While I did not personally take one, I did some research and discovered that there are such courses available in Croatia, where I live.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-417"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-415">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-416'
	>
	The three-day training normally covers the same topics as the ISTQB syllabus. Participants have the chance to learn from a seasoned software tester who can offer insightful commentary and practical examples to help put the lessons being taught into perspective.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-420"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-418">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-419'
	>
	You can register for the course in Croatia by sending an email to the regional training provider, who will then give you the course&#8217;s upcoming date. The course provider will immediately register you to take the ISTQB Foundation Level exam once you have finished the course.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-422"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-421'
	>
	<strong>It is not required to enroll in a study session offered by a local trainer, but it might be a useful approach if you want to prepare for the test quickly. </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-425"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-423">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-424'
	>
	However, it’s still possible to fully prepare for the exam on your own with a combination of self-study and online resources.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-428"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-426">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-427'
	>
	Taking the ISTQB Foundation Level exam</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-431"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-429">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-430'
	>
	The exam itself is taken online and consists of 40 multiple-choice questions that have to be completed within 60 minutes. If English is not your first language, you get an additional 15 minutes. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-434"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-432">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-433'
	>
	The questions covered a wide range of topics and required a thorough understanding of the material. I found the exam to be challenging but manageable, as I was well prepared.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-437"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-435">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-436'
	>
	Benefits of obtaining an ISTQB Certification</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-440"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-438">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-439'
	>
	Overall, I am happy to say that I was successful in passing the ISTQB Foundation Level exam. I found the studying process and taking the exam to be a rewarding experience, as it allowed me to solidify my knowledge of software testing and gave me a sense of accomplishment. I felt that the exam was a good representation of the material covered in the syllabus and required a deep understanding of the concepts, rather than just memorization.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-443"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-441">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-442'
	>
	I would recommend the ISTQB Foundation Level exam to anyone looking to gain a foundational understanding of software testing or to enhance their career prospects in the field. If you feel you already possess a fundamental understanding, taking this exam may help you in getting rid of imposter syndrome.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-445"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-36-text js-typography block-highlighted-text__typography'
	data-id='es-444'
	>
	<strong>Passing the exam was a great achievement that validated my skills and knowledge. It gave me a sense of confidence and accomplishment that translated into improved performance in my work and studies. </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-448"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-446">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-447'
	>
	Now that a few months have passed since getting certified, I can see the progress I&#8217;ve made in my work. I&#8217;ve been able to implement some of the things I learned on the projects I&#8217;m working on, and I feel more confident and able to tackle tasks that I may have struggled with before. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-451"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-449">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-450'
	>
	Overall, I would say that the exam has helped me improve my skills and become a more valuable asset to my team – and <a href="https://astqb.org/is-it-worth-getting-istqb-certification/" target="_blank" rel="noreferrer noopener">other exam-takers seem to agree</a>. This was a great experience for me and I am already working on becoming a certified ISTQB agile tester. I would highly recommend the ISTQB Foundation Level exam to anyone looking to get started in software testing or to advance their career in the field.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/istqb-foundation-level-exam/">Don&#8217;t Think Twice, Take the ISTQB Foundation Level Exam</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>36412https://infinum.com/uploads/2023/03/How-to-Successfully-Improve-QA-Testing-Processes-hero.webp</url>
				</image>
				<title>How to Successfully Improve QA Testing Processes</title>
				<link>https://infinum.com/blog/improve-qa-testing-process/</link>
				<pubDate>Mon, 20 Mar 2023 10:06:00 +0000</pubDate>
				<dc:creator>Endrina Eskić</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=36412</guid>
				<description>
					<![CDATA[<p>Whether you’re new to creating a QA testing process or you’re looking to improve an existing one, we have suggestions to help you get started.</p>
<p>The post <a href="https://infinum.com/blog/improve-qa-testing-process/">How to Successfully Improve QA Testing Processes</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-575"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-454">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-457"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-455">
	<p	class='typography typography--size-36-text js-typography block-paragraph__paragraph'
	data-id='es-456'
	>
	If you don’t plan ahead and implement a thorough process, QA can often become an afterthought, leading you to a release full of bugs, client complaints, and spending more time on the project than necessary. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-460"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-458">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-459'
	>
	The importance of quality assurance is something everyone involved in the project needs to be aware of, both stakeholders and the project team. No product development process is complete without QA – it’s a crucial step that allows you to launch your product with full confidence, knowing it meets the required standards and customer expectations.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-463"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-461">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-462'
	>
	To avoid problems later on, you should aim to integrate quality assurance into your product development plan from day one. However, setting up a QA testing process for the first time can seem overwhelming, and you risk falling down a rabbit hole of unknowns and unanticipated complications. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-466"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-464">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-465'
	>
	Whether you’re new to creating a QA process or you’re looking to improve an existing one, these suggestions will help you get started.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-469"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-467">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-468'
	>
	<strong>Setting up the QA testing procedure</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-472"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-470">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-471'
	>
	Since there is no universal formula that will work in every situation, one of the biggest challenges of setting up an effective QA process is designing the process itself. You need to think about the overall environment and take many factors into account:</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-475"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-473">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-474'
	>
	QA testing procedures at your company</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-478"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-476">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-477'
	>
	Your team’s objectives</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-481"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-479">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-480'
	>
	Tools and the technology stack used</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-484"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-482">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-483'
	>
	Project complexity </p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-487"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-485">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-486'
	>
	Release processes</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-490"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-488">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-489'
	>
	Team members</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-493"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-491">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-492'
	>
	Project time frame</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-496"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-494">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-495'
	>
	Project budget</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-499"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-497">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-498'
	>
	Understanding these aspects can help you work around any constraints and make the most out of your team’s capabilities. It will allow you to align your process with the project’s needs and requirements and effectively prioritize your QA efforts.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-501"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-24-text js-typography block-highlighted-text__typography'
	data-id='es-500'
	>
	<strong>A great QA testing process will be thorough, organized, effective, and in line with the project&#8217;s objectives, limitations, and available resources.</strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-504"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-502">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-503'
	>
	For example, I recently worked on a project where I was able to improve the QA process just by thoroughly reviewing the task description and flow. I produced a document specifying the exact responsibilities of each team member working on the project. We discussed my propositions with the development team and the project manager, and we all agreed on the tasks required for each role and the bug-reporting procedure. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-507"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-505">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-506'
	>
	Thanks to the adjustments we made, the QA team received clearly specified tasks, and the developers received thorough and precise bug reports. Everyone participating in the project was pleased with the clearer and more efficient workflow.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-510"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-508">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-509'
	>
	<strong>Explicit requirements minimize issues</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-513"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-511">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-512'
	>
	Anyone in QA can tell you that the majority of serious problems revealed close to the project’s delivery date arise due to poorly defined requirements and false assumptions. Stakeholders assess and approve requirements in the early planning stages of a project, and your team should have a procedure for establishing and disseminating acceptance criteria in place. This should be a regular part of the development process.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-516"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-514">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-515'
	>
	To ensure that everyone is aligned around the expected results, the development team also has to know exactly what &#8220;done&#8221; means. The whole team has to be on the same page about their definition of ready and definition of done.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-519"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-517">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-518'
	>
	<strong>Focus on the QA environment for better results</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-522"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-520">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-521'
	>
	The success of software testing is ensured by setting up a proper test environment. Any errors in this part of the process could result in additional expenses and delay.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-525"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-523">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-524'
	>
	When setting up the testing environment, you should base it on the requirements for the client’s product, and it has to be the same on the server side and the client side. If you don’t test in a setting that is a perfect replica of the production environment, you will get erroneous results.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-528"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-526">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-527'
	>
	Another way to ensure your product will work as expected with real users is to create a testing and staging environment. That way, you can feel more confident that each component performs as planned.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-531"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-529">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-530'
	>
	<strong>Improving collaboration with developers</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-534"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-532">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-533'
	>
	Most QA teams now work in an iterative fashion together with developers. As soon as a functionality is developed, it’s delivered to the quality assurance team.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-537"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-535">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-536'
	>
	However, especially effective QA teams adopt a proactive instead of a reactive strategy. They monitor the development process and identify quality problems before they reach the production stage rather than dealing with them when the development is complete. Developers and QA specialists work together as part of a project team and should therefore be in charge of delivering certain KPIs.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-540"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-538">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-539'
	>
	Documentation sharing – shared files and reports should be accessible to developers and QA’s.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-543"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-541">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-542'
	>
	Transparent metrics – documents on software developers&#8217; areas for improvement containing data-driven and easily measurable KPI’s</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-546"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="bullet bullet--left bullet__type--dot bullet__color--infinum block-bullet__bullet" data-id="es-544">
			<div class="bullet__dot"></div>
		<div class="bullet__content">
		<p	class='typography typography--size-20-text-roman js-typography bullet__paragraph'
	data-id='es-545'
	>
	Joint meetings – the QA and development teams should get together at least once a week.</p>	</div>
</div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-549"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-547">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-548'
	>
	<strong>Save time with QA test automation</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-552"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-550">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-551'
	>
	QA automation testing is a long-term investment in productivity. Setting up a framework for long-term projects can take quite some time, even for an experienced QA automation tester, but it will save dozens of hours of work. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-555"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-553">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-554'
	>
	The initial step in automated testing is feasibility analysis. The team first determines whether a test should be automated at all. This is followed by the choice of tools; QA engineers select tools and frameworks for the process once they’ve defined the types of tests they want to automate. This decision depends on the types of tests being automated, such as usability testing, cross-browser testing, and end-to-end testing. Each serves a different purpose, from ensuring smooth user interactions to verifying functionality across multiple environments. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-558"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-556">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-557'
	>
	For instance, if QA teams aim to automate end-to-end testing, they examine <a href="https://www.functionize.com/automated-testing/end-to-end-testing-tools" target="_blank" rel="noreferrer noopener">top end-to-end testing tools</a> to determine which best fits their project needs. The right choice helps streamline workflows and improve overall test coverage. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-561"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-559">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-560'
	>
	Finally, there have to be metrics to gauge the level of automation for each process (the amount of caught faults, fixed bugs, escaped defects, etc.).</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-564"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-562">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-563'
	>
	<strong>Nourishing a culture of quality</strong></h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-567"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-565">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-566'
	>
	We’ve gone through a number of reasons why it’s important to work on a thorough and systematic quality assurance procedure. Saving clients’ time and money through early identification and correction of defects is just the basic one.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-570"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-568">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-569'
	>
	The QA testing process is not just QA’s business. Developers and project managers committed to the project’s success will recognize the value of testing products both before and after release. For maximum results, the entire project team should understand the process and feel confident participating in it. Better teamwork and communication ultimately improve project results.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-573"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-571">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-572'
	>
	A well-defined procedure can ensure that the product satisfies client expectations and generates repeat business, and we advise including QA on every project. Once created, your process can be used as a template for future initiatives and contribute to creating a culture of quality assurance inside the company.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/improve-qa-testing-process/">How to Successfully Improve QA Testing Processes</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>25895https://infinum.com/uploads/2020/01/snatch-bugs-with-bug-reporting-ios-library-0.webp</url>
				</image>
				<title>Testing Flutter Apps – A QA Guide</title>
				<link>https://infinum.com/blog/testing-flutter-apps-a-qa-guide/</link>
				<pubDate>Mon, 20 Jun 2022 13:41:01 +0000</pubDate>
				<dc:creator>Endrina Eskić</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=25895</guid>
				<description>
					<![CDATA[<p>This one is for all the QAs wondering how to approach testing in Flutter and what to focus on. </p>
<p>The post <a href="https://infinum.com/blog/testing-flutter-apps-a-qa-guide/">Testing Flutter Apps – A QA Guide</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-672"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-576">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-579"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-577">
	<p	class='typography typography--size-20-text js-typography block-paragraph__paragraph'
	data-id='es-578'
	>
	When you are a QA set out to test an app made in Flutter, you’ll quickly realize there aren’t many sources of information available. Googling will get you scarce tips and tricks or well-established testing methods.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-582"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-580">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-581'
	>
	Working in Quality Assurance at a company with a very active Flutter team, I’ve done my share of testing and gained some valuable insights.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-585"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-583">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-584'
	>
	Flutter 101</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-588"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-586">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-587'
	>
	Let’s start with the basics. Flutter is an open-source user interface software development kit created by Google. It is used to build cross-platform solutions for Android, iOS, Linux, macOS, Windows, and the web from a single codebase. Flutter’s programming language is Dart, and the apps often make use of its more advanced features.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-591"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-589">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-590'
	>
	Flutter is commonly used for mobile app development. Both Android and iOS apps can share the same codebase, eliminating the need for separate native development. Couldn&#8217;t we do the same with React Native, you’re asking? Yes, but RN uses device-specific interface components, and many of them are platform-specific, which results in a significantly larger codebase than needed.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-594"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-592">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-593'
	>
	If you compare stars on GitHub, Flutter has a larger community than React Native, a case in point.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-597"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-595">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-596'
	>
	Flutter framework principles</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-600"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-598">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-599'
	>
	<strong>Everything is a widget</strong></h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-603"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-601">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-602'
	>
	The very foundation of Flutter is that almost everything in the program is a widget. There are no distinct controllers, views, or layouts like in other frameworks. The widget is a unifying building block that covers almost every aspect of Flutter development. It can be anything from a single button to a full pop-up panel.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-606"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-604">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-605'
	>
	Flutter widgets are created with a modern framework based on React. They make up the entire UI and indicate how their present configuration and status should appear in the display. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-609"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-607">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-608'
	>
	<strong>Composition &gt; Inheritance&nbsp;</strong></h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-612"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-610">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-611'
	>
	<br />
The composition method is superior to inheritance. The composition-based technique is used when widgets are made up of smaller widgets. You can use the Flutter API to mix numerous widgets to get the exact behavior you want.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-615"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-613">
	<h3	class='typography typography--size-36-text js-typography block-heading__heading'
	data-id='es-614'
	>
	<strong>Widget tree</strong></h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-618"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-616">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-617'
	>
	<strong><br />
</strong>The widget tree concept is essentially a ranked widget implementation that represents user interface components. These widgets can be stateless or stateful, and the distinction is determined by the state of the widget. It&#8217;s a handy tool for managing app states.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-621"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-619">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-620'
	>
	When it comes to web and desktop apps, compiling the Flutter source code into a native Windows, macOS, or Linux desktop program is possible with desktop support. Flutter&#8217;s desktop support extends to plugins as well, allowing you to install existing plugins for Windows, macOS, and Linux. However, to be considered fully compatible, a Flutter app mustn’t include any platform-specific implementations.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-624"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-622">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-623'
	>
	QA Cliffs Notes&nbsp;</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-627"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-625">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-626'
	>
	Flutter provides a more customized UI than native platforms. However, it&#8217;s also slower, which means that screen jerks and terrible animations are possible. If the app needs to communicate with the device frequently, it’s probably not an ideal fit for Flutter. Flutter is best used for producing apps with a visually pleasing interface.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-630"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-628">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-629'
	>
	I’ve had experience with several Flutter apps, most of them fit in the same category, and the expectations were similar. Not much communication with the device was required, the app needed to be very UI-friendly and the overall testing experience was very pleasant.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-633"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-631">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-632'
	>
	However, once I tested a Flutter app that communicated with the device and biometrics a lot, and that one was a challenge to test because of some of Flutter&#8217;s limitations. You should keep this in mind when creating a testing plan for a Flutter app, it often depends on the app&#8217;s category.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-635"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-24-text js-typography block-highlighted-text__typography'
	data-id='es-634'
	>
	<strong>Generally speaking, Flutter apps don’t require a special way of testing compared to non-Flutter apps. Still, you should be aware that even though there is just one base code, iOS and Android have their differences, and the same app can behave differently on different platforms. In practice, it means that you’ll still be testing it twice, once per platform.  </strong></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-638"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-636">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-637'
	>
	Flutter is focused on assisting developers in making their apps more accessible. It contains first-class framework support for accessibility on top of what the underlying operating system provides. This includes things like fonts in bold, readers for screens, and adequate contrast. I would also advocate for automated accessibility scanners in addition to testing for these specific topics.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-641"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-639">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-640'
	>
	Widget book is an open-source tool for creating Flutter UI widgets and pages. It can be very useful for QA because developers can implement it within the app. We can see every widget in the app, interact with it separately, and see any of the possible widget states. With the widget book, you do not have to verify everything in the design file, because the developer gave you a “shortcut”.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-644"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-642">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-643'
	>
	Common issues in Flutter</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-647"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-645">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-646'
	>
	While testing Flutter apps I noticed some bugs appeared more often than others. Maybe we could have talked about Flutter-specific problems some time ago, but today it’s hard to pinpoint the exact issues that come in the package. What we can do is point out the places where Flutter is most likely to break so you can pay more attention to them while testing.<br></p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-650"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-648">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-649'
	>
	These places are all related to the app’s communication with the device. Keep an eye out for the following:&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-653"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="lists" data-id="es-651">
	<ul	class='typography typography--size-16-text-roman js-typography lists__typography'
	data-id='es-652'
	>
	<li>using the camera </li><li>notifications </li><li>location </li><li>biometrics<br />
</li></ul></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-656"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-654">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-655'
	>
	The bug that personally <em>bugged me</em> the most was when the app often got stuck on the splash screen, which prevented me from testing it at all. It sometimes helped to reinstall the app or check the app’s permissions. I would definitely advise testing the UI on devices with punch hole displays because widgets can have some issues there, e.g. look broken, have a broken layout, or not be displayed at all.<br><br>Further, my impression is that Android does have a slightly higher number of issues with Flutter apps, which is one of the reasons you should test the app on both platforms. When it comes to mobile OS, Flutter apps are supported on Android API 19 &amp; above and iOS 9 &amp; above.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-659"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-657">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-658'
	>
	Automating the testing process on Flutter apps is possible, just like with any other mobile app.&nbsp;</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-662"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-660">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-661'
	>
	Learning by doing, for now</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-665"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-663">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-664'
	>
	Testing Flutter apps, you basically learn from experience since there are hardly any resources available at the moment. What I’ve personally learned is that at the core, it isn’t that different from testing native apps. Some bugs do tend to pop up more than others, and I tried to shed some light on these. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-667"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-24-text js-typography block-highlighted-text__typography'
	data-id='es-666'
	>
	Flutter is a great technology that significantly shortened app development time with its main feature, the fact that the same code base works on different platforms. So far, Flutter apps managed to gain a lot of attention, and more and more of them are being built every day. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-670"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-668">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-669'
	>
	Hopefully, sources of information tackling QA issues, in particular, will follow the trend.  </p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/testing-flutter-apps-a-qa-guide/">Testing Flutter Apps – A QA Guide</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
					<item>
				<image>
					<url>23167https://infinum.com/uploads/2022/06/COVER_How-to-improve-developer-tester-relationship.webp</url>
				</image>
				<title>How to Get Along with Developers without Group Therapy: A QA Guide</title>
				<link>https://infinum.com/blog/developer-tester-relationship/</link>
				<pubDate>Mon, 04 Apr 2022 11:50:37 +0000</pubDate>
				<dc:creator>Endrina Eskić</dc:creator>
				<guid isPermaLink="false">https://infinum.com/?p=23167</guid>
				<description>
					<![CDATA[<p>Developers and testers, like artists and critics, are said to be in a perpetual state of conflict. Find out how these two sides can get along!</p>
<p>The post <a href="https://infinum.com/blog/developer-tester-relationship/">How to Get Along with Developers without Group Therapy: A QA Guide</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</description>
				<content:encoded>
					<![CDATA[<div
	class="wrapper"
	data-id="es-766"
	 data-animation-target='inner-items'>
		
			<div class="wrapper__inner">
			<div class="block-blog-content js-block-blog-content">
	
<div class="block-blog-content-sidebar" data-id="es-673">
	</div>

<div class="block-blog-content-main">
	
<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-676"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-674">
	<p	class='typography typography--size-36-text js-typography block-paragraph__paragraph'
	data-id='es-675'
	>
	It’s almost amusing how so many developers see software testers as troublemakers. Of course, who could blame them – nobody likes hearing about their child’s flaws, and pointing out flaws is quite literally our job.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-679"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-677">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-678'
	>
	Like artists and critics, developers and testers are said to be in a perpetual state of conflict. They can’t live without one another, but they also can’t seem to get along.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-682"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-680">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-681'
	>
	Both sides share a common goal of creating the best possible digital product despite the ongoing animosity. That is why it is vital to alleviate that sensation and work on improving the relationship to everyone’s benefit. I have a couple of ideas for achieving a healthy, trustworthy collaboration between testers and developers, but first, we need to get some things out of the way.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-685"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-683">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-684'
	>
	It&#8217;s impossible to break software</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-688"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-686">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-687'
	>
	Testers have a reputation for being rebellious. It’s a character feature that helps them be good at their job because they don’t accept things at face value and don’t mind saying something is off when they see it.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-691"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-689">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-690'
	>
	When asked what we like about testing, a typical response is that we like to “break” software. It sounds like we enjoy crushing up a developer’s hard work and tossing it back in their face. However, it’s code. It exists precisely as it is. Sometimes there are issues, and sometimes we stumble upon them. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-693"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-20-text js-typography block-highlighted-text__typography'
	data-id='es-692'
	>
	Developers put a lot of effort into their work, so, understandably, there are emotions involved when feedback is due. Testers need to consider that and make sure their feedback is not dismissive. Diplomacy, in my opinion, is one of the most crucial abilities to have.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-696"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-694">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-695'
	>
	You don’t have a bug; we have a bug</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-699"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-697">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-698'
	>
	In most companies, developers and testers are two separate teams with their own leaders, supervisors, pay structures, and probably office locations. These two teams need to work together to produce quality software, though. If they come closer and create a common culture with shared goals, it can do wonders for the project. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-702"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-700">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-701'
	>
	Before testers start their work, both teams need to get together and ensure they’re on the same page. It’s important to discuss the code changes – what was changed, with what goal, and what the expectations are. Once a project is underway, teams should regularly check in to assess how development progresses and what testing has revealed. Working together regularly makes it easier to recognize the expertise and importance of another individual. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-705"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-703">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-704'
	>
	When dealing with an issue, it’s essential to change your perspective from “You have a bug” to “We have a bug.” That way, we are communicating as a team with the same goal.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-708"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-706">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-707'
	>
	Working together 101</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-711"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-709">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-710'
	>
	In my opinion, the finest remedies to the reputed animosity between testers and developers are collaboration and teamwork. Building a strong, trusting, friendly relationship creates a safe environment where no questions are out of place, concerns are discussed freely, and both sides perform better. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-714"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-712">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-713'
	>
	There are some practical steps you can take to achieve that, and as a result, the whole process is smoother and more efficient.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-717"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-715">
	<h3	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-716'
	>
	A carefully laid-out plan saves a lot of pain</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-720"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-718">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-719'
	>
	Everyone in the team should be aware of what the testing plan is. It may seem obvious, but the first piece of crucial information to share is what version is to be tested (the best pick is usually the latest one). </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-723"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-721">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-722'
	>
	The test documentation should include a list of features to be tested and test cases. Clearly stating the features that will undergo testing gives the project team a heads-up if some issues pop up during the process. Ask the developers to provide their opinion on the best way to test a feature they are working on and whether it’s related to another piece of code or a different product. Should some instructions or guidelines be added? </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-726"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-724">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-725'
	>
	The developers hold a lot of answers, and you can get a lot of information simply by asking.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-729"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-727">
	<h3	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-728'
	>
	A comfortable environment encourages information-sharing</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-732"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-730">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-731'
	>
	We set a good foundation for a comfortable communication environment when we share our testing plan. This way, developers will be more open to sharing their development process, be more descriptive in the project documentation, and make your job easier. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-734"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-highlighted-text">
	<p	class='typography typography--size-20-text js-typography block-highlighted-text__typography'
	data-id='es-733'
	>
	In my experience, organizing a testing session with the whole team is a perfect way to get people to share information.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-737"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-735">
	<h3	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-736'
	>
	Polite words open iron gates</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-740"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-738">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-739'
	>
	The old Croatian proverb sums it up – keep your issue-reporting manner positive; your goal is not to offend. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-743"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-741">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-742'
	>
	When we find bugs and issues with the software, it’s essential to communicate that right. Don’t question the developer’s skills or knowledge. The best way to go about it is to give as much information about the issue as possible. Think about it as returning a favor. They gave us all the information from their end so we could test better. Now we need to do the same, so they can have an easier time repairing what’s broken. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-746"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-744">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-745'
	>
	Always encourage a work environment where both parties communicate on time, provide constructive feedback, and support proactivity. And do it politely.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-749"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-747">
	<h3	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-748'
	>
	Everyone has a role to play</h3></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-752"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-750">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-751'
	>
	This article is written from a tester’s perspective and mainly focuses on what testers can do to have a better relationship with engineering. However, both sides are responsible for guaranteeing that the final product is at its finest. </p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-755"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-753">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-754'
	>
	Developers need to strive to produce the best possible code even before it goes into QA’s hands. Quality Assurance is a safety net, a just-in-case measure, not a detection mechanism for poorly written code. Both sides should be able to lean on one another but not take advantage of their position.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-758"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-heading" data-id="es-756">
	<h2	class='typography typography--size-52-default js-typography block-heading__heading'
	data-id='es-757'
	>
	Embracing our differences</h2></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-761"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-759">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-760'
	>
	Developers and testers don’t have to have a harsh or unfriendly relationship. Understandably, developers can be emotionally invested in their hard work, and in case it doesn’t perform well, QA is the bearer of bad news.</p></div>	</div>

<div
	class="wrapper wrapper__use-simple--true"
	data-id="es-764"
	 data-animation='slideFade' data-animation-target='inner-items'>
		
			<div class="block-paragraph" data-id="es-762">
	<p	class='typography typography--size-16-text-roman js-typography block-paragraph__paragraph'
	data-id='es-763'
	>
	Approaching a task with a new perspective and dismantling certain long-standing divisions between responsibilities can make all the difference. Hopefully, these tips will help you overcome some of the legacy difficulties. When you bridge the gap between two teams, all sorts of magic can happen.</p></div>	</div>
</div>
</div>		</div>
	</div><p>The post <a href="https://infinum.com/blog/developer-tester-relationship/">How to Get Along with Developers without Group Therapy: A QA Guide</a> appeared first on <a href="https://infinum.com">Infinum</a>.</p>
]]>
				</content:encoded>
			</item>
		
	</channel>
</rss>