<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kelina Cowell</title>
    <description>The latest articles on DEV Community by Kelina Cowell (@kelina_cowell_qa).</description>
    <link>https://dev.to/kelina_cowell_qa</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3673033%2Fca775476-db01-4f36-9e72-45d04cfb654b.jpg</url>
      <title>DEV Community: Kelina Cowell</title>
      <link>https://dev.to/kelina_cowell_qa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kelina_cowell_qa"/>
    <language>en</language>
    <item>
      <title>Regression testing in game QA: a risk-based workflow that keeps releases stable</title>
      <dc:creator>Kelina Cowell</dc:creator>
      <pubDate>Mon, 29 Dec 2025 09:00:00 +0000</pubDate>
      <link>https://dev.to/kelina_cowell_qa/regression-testing-workflow-the-risk-first-checks-that-keep-releases-stable-3ed1</link>
      <guid>https://dev.to/kelina_cowell_qa/regression-testing-workflow-the-risk-first-checks-that-keep-releases-stable-3ed1</guid>
      <description>&lt;p&gt;⚠️ This is a condensed version of the article.&lt;/p&gt;

&lt;p&gt;👉 Read the full, updated version (canonical):&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/regression-testing.html" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkelinacowellqa.github.io%2FManual-QA-Portfolio-Kelina-Cowell%2Fassets%2Fimg%2Fog-default.webp" height="400" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/regression-testing.html" rel="noopener noreferrer" class="c-link"&gt;
            Regression Testing Example: Manual QA Workflow for Games | Kelina Cowell
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Regression testing example based on a real manual QA workflow for games, including risk-based regression scope, matrix design, golden-path checks, and stability verification after change.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
          kelinacowellqa.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This version summarises the regression testing workflow. The full article includes deeper QA examples, structured analysis, and full case study context.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR: regression testing in game QA
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Workflow:&lt;/strong&gt; risk-based regression testing → golden-path baseline → targeted checks → evidence-backed results
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Example context:&lt;/strong&gt; &lt;em&gt;Sworn&lt;/em&gt; (PC Game Pass, Windows)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build tested:&lt;/strong&gt; &lt;code&gt;1.01.0.1039&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope driver:&lt;/strong&gt; external patch notes used as a change signal (no platform parity assumed)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outputs:&lt;/strong&gt; regression matrix, session logs, bug tickets, and supporting QA evidence
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyyk14boesls9zmat3xvt.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyyk14boesls9zmat3xvt.webp" alt="Regression testing workflow diagram" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Regression testing workflow used to verify stability after change during a timeboxed Sworn (PC) pass.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What regression testing is in game QA
&lt;/h2&gt;

&lt;p&gt;Regression testing in game QA verifies that existing behaviour still works after a change.&lt;/p&gt;

&lt;p&gt;It is not about re-testing everything or blindly following a checklist.&lt;/p&gt;

&lt;p&gt;A practical regression testing workflow is selective and driven by risk:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;what changed
&lt;/li&gt;
&lt;li&gt;what might be affected
&lt;/li&gt;
&lt;li&gt;what is expensive if broken
&lt;/li&gt;
&lt;li&gt;what must remain stable
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why regression testing is best treated as &lt;strong&gt;change-driven verification&lt;/strong&gt;, not checklist execution.&lt;/p&gt;




&lt;h2&gt;
  
  
  Golden path baseline in regression testing
&lt;/h2&gt;

&lt;p&gt;Every regression cycle starts with a repeatable golden-path smoke test.&lt;/p&gt;

&lt;p&gt;In this example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;BL-SMOKE-01&lt;/code&gt;&lt;br&gt;&lt;br&gt;
cold launch → main menu → gameplay → quit → relaunch → main menu&lt;/p&gt;

&lt;p&gt;I also include a quick audio sanity check during this flow.&lt;/p&gt;

&lt;p&gt;If the golden path is unstable, deeper regression testing becomes unreliable.&lt;/p&gt;


&lt;h2&gt;
  
  
  Risk-based regression testing and change signals
&lt;/h2&gt;

&lt;p&gt;Regression testing scope is driven by change signals.&lt;/p&gt;

&lt;p&gt;In this example, I used public SteamDB patch notes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SWORN 1.0 Patch #3 (v1.0.3.1111)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Important:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I did not assume platform parity
&lt;/li&gt;
&lt;li&gt;I used patch notes only as a &lt;strong&gt;risk signal&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach is useful in manual QA when internal data is unavailable.&lt;/p&gt;


&lt;h2&gt;
  
  
  Regression testing matrix example (manual QA)
&lt;/h2&gt;

&lt;p&gt;A regression testing matrix should be auditable.&lt;/p&gt;

&lt;p&gt;Each line includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;test check
&lt;/li&gt;
&lt;li&gt;side-effect probe
&lt;/li&gt;
&lt;li&gt;outcome
&lt;/li&gt;
&lt;li&gt;evidence
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;BL-SMOKE-01&lt;/code&gt; baseline
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;BL-SAVE-01&lt;/code&gt; save/continue integrity
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;STEA-103-MUSIC&lt;/code&gt; audio continuity
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;STEA-103-AVOL&lt;/code&gt; settings presence
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;BL-IO-01&lt;/code&gt; input handover
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;BL-ALT-01&lt;/code&gt; Alt+Tab behaviour
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is clear, reviewable results, not assumptions.&lt;/p&gt;


&lt;h2&gt;
  
  
  Save/Continue regression testing with anchors
&lt;/h2&gt;

&lt;p&gt;Save systems are a high-risk regression area.&lt;/p&gt;

&lt;p&gt;To verify reliably, I use anchors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;location (Wirral Forest)
&lt;/li&gt;
&lt;li&gt;health (&lt;code&gt;60/60&lt;/code&gt;)
&lt;/li&gt;
&lt;li&gt;weapon type
&lt;/li&gt;
&lt;li&gt;objective text
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are checked after:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;menu Continue
&lt;/li&gt;
&lt;li&gt;full relaunch
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This turns vague results into repeatable verification.&lt;/p&gt;


&lt;h2&gt;
  
  
  QA evidence in regression testing
&lt;/h2&gt;

&lt;p&gt;Regression testing requires evidence for both pass and fail results.&lt;/p&gt;

&lt;p&gt;I capture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;video clips (input, timing, outcome)
&lt;/li&gt;
&lt;li&gt;screenshots (UI state, presence/absence)
&lt;/li&gt;
&lt;li&gt;session timestamps
&lt;/li&gt;
&lt;li&gt;environment details (platform, build, input, saves)
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If results cannot be verified, they are not useful.&lt;/p&gt;


&lt;h2&gt;
  
  
  Example regression bug (game QA)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;SWOR-6: Defeat overlay blocks Stats screen&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expected: Stats screen appears after Continue
&lt;/li&gt;
&lt;li&gt;Actual: overlay remains, Stats hidden, new run starts
&lt;/li&gt;
&lt;li&gt;Result: Stats cannot be reviewed
&lt;/li&gt;
&lt;li&gt;Repro: 3/3
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This shows how regression testing surfaces flow-breaking issues after change.&lt;/p&gt;


&lt;h2&gt;
  
  
  Example regression probe
&lt;/h2&gt;

&lt;p&gt;Patch notes referenced a music fix.&lt;/p&gt;

&lt;p&gt;Test:&lt;br&gt;
&lt;code&gt;STEA-103-MUSIC&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;10 minutes runtime
&lt;/li&gt;
&lt;li&gt;combat transitions
&lt;/li&gt;
&lt;li&gt;pause/unpause
&lt;/li&gt;
&lt;li&gt;level load
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result: &lt;strong&gt;pass&lt;/strong&gt; (music stable)&lt;/p&gt;


&lt;h2&gt;
  
  
  Not applicable is a valid regression result
&lt;/h2&gt;

&lt;p&gt;Patch notes referenced a Dialogue Volume slider.&lt;/p&gt;

&lt;p&gt;On this build:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;slider not present
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result:&lt;br&gt;
&lt;code&gt;STEA-103-AVOL&lt;/code&gt; → &lt;strong&gt;not applicable&lt;/strong&gt;, with evidence&lt;/p&gt;

&lt;p&gt;This avoids false assumptions about platform parity.&lt;/p&gt;


&lt;h2&gt;
  
  
  Key takeaway: regression testing in game QA
&lt;/h2&gt;

&lt;p&gt;Regression testing is not full re-testing.&lt;/p&gt;

&lt;p&gt;It is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;risk-based
&lt;/li&gt;
&lt;li&gt;change-driven
&lt;/li&gt;
&lt;li&gt;evidence-supported
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A strong regression testing workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;protects the golden path
&lt;/li&gt;
&lt;li&gt;targets high-risk areas
&lt;/li&gt;
&lt;li&gt;verifies results clearly
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is what keeps builds stable after change.&lt;/p&gt;


&lt;h2&gt;
  
  
  Full article and case study
&lt;/h2&gt;

&lt;p&gt;This DEV version focuses on the core workflow.&lt;/p&gt;

&lt;p&gt;The full version includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;expanded regression testing structure
&lt;/li&gt;
&lt;li&gt;deeper QA examples
&lt;/li&gt;
&lt;li&gt;full case study and evidence
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Read the full updated version:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/regression-testing.html" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkelinacowellqa.github.io%2FManual-QA-Portfolio-Kelina-Cowell%2Fassets%2Fimg%2Fog-default.webp" height="400" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/regression-testing.html" rel="noopener noreferrer" class="c-link"&gt;
            Regression Testing Example: Manual QA Workflow for Games | Kelina Cowell
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Regression testing example based on a real manual QA workflow for games, including risk-based regression scope, matrix design, golden-path checks, and stability verification after change.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
          kelinacowellqa.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>gamedev</category>
      <category>testing</category>
      <category>qualityassurance</category>
      <category>ux</category>
    </item>
    <item>
      <title>Exploratory testing on mobile: the messy checks that find real bugs</title>
      <dc:creator>Kelina Cowell</dc:creator>
      <pubDate>Mon, 22 Dec 2025 09:00:00 +0000</pubDate>
      <link>https://dev.to/kelina_cowell_qa/exploratory-testing-on-mobile-the-messy-checks-that-find-real-bugs-2ldg</link>
      <guid>https://dev.to/kelina_cowell_qa/exploratory-testing-on-mobile-the-messy-checks-that-find-real-bugs-2ldg</guid>
      <description>&lt;p&gt;⚠️ This is a condensed version of the article.&lt;/p&gt;

&lt;p&gt;👉 Read the full, updated version (canonical):&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/exploratory-testing.html" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkelinacowellqa.github.io%2FManual-QA-Portfolio-Kelina-Cowell%2Fassets%2Fimg%2Fog-default.webp" height="400" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/exploratory-testing.html" rel="noopener noreferrer" class="c-link"&gt;
            Exploratory Testing in Mobile Apps: QA Workflow &amp;amp; Real Bug Examples | Kelina Cowell
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Exploratory testing in mobile apps using real QA workflows and bug examples. Learn session structure, risk-based testing, and how exploratory testing finds issues scripted checks miss.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
          kelinacowellqa.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This version summarises the workflow. The full article includes deeper examples, structured QA analysis, and full case study context.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR: exploratory testing in mobile QA
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What it is:&lt;/strong&gt; exploratory testing is a manual QA approach where test design, execution, and analysis happen together
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform focus:&lt;/strong&gt; mobile apps (Android), where interruptions and lifecycle changes create real-world bugs
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Approach:&lt;/strong&gt; short, timeboxed sessions using charters, controlled variation, and risk-based decisions
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outputs:&lt;/strong&gt; reproducible bugs, clear bug reports, and QA evidence with enough context to diagnose issues
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdze7sv90n7qagsql4y1t.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdze7sv90n7qagsql4y1t.webp" alt="Exploratory testing workflow diagram" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Exploratory testing in mobile apps: chartered, timeboxed sessions with controlled variation, producing defects, notes, bug reports, and evidence.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What exploratory testing is in mobile QA
&lt;/h2&gt;

&lt;p&gt;Exploratory testing in mobile QA is not “random testing”.&lt;/p&gt;

&lt;p&gt;It is a structured manual testing approach where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;test design
&lt;/li&gt;
&lt;li&gt;test execution
&lt;/li&gt;
&lt;li&gt;and analysis
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;all happen at the same time.&lt;/p&gt;

&lt;p&gt;Instead of following predefined test cases, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;define a test charter
&lt;/li&gt;
&lt;li&gt;observe behaviour
&lt;/li&gt;
&lt;li&gt;adapt based on risk and system response
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key difference from scripted testing is adaptability under real conditions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why exploratory testing matters in mobile apps
&lt;/h2&gt;

&lt;p&gt;Mobile apps rarely fail under ideal conditions.&lt;br&gt;&lt;br&gt;
They fail when real users interact with them.&lt;/p&gt;

&lt;p&gt;Common mobile QA risks include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;interruptions (calls, notifications, alarms)
&lt;/li&gt;
&lt;li&gt;backgrounding and resuming apps
&lt;/li&gt;
&lt;li&gt;network switching during critical flows
&lt;/li&gt;
&lt;li&gt;UI scaling issues across devices
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exploratory testing in mobile apps targets these real-world scenarios directly, instead of assuming a clean user journey.&lt;/p&gt;


&lt;h2&gt;
  
  
  Mobile exploratory testing workflow (practical example)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Test charters, not scripts
&lt;/h3&gt;

&lt;p&gt;A test charter defines intent, not steps.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Explore reward claim behaviour under interruptions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This keeps sessions focused while allowing flexibility.&lt;/p&gt;


&lt;h3&gt;
  
  
  2. Timeboxed exploratory sessions
&lt;/h3&gt;

&lt;p&gt;Effective exploratory testing sessions are short:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;20 to 45 minutes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Timeboxing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prevents unfocused wandering
&lt;/li&gt;
&lt;li&gt;forces prioritisation
&lt;/li&gt;
&lt;li&gt;improves consistency across sessions
&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  3. Controlled variation
&lt;/h3&gt;

&lt;p&gt;A core principle of exploratory testing in mobile QA is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;change one variable at a time&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;lock/unlock state
&lt;/li&gt;
&lt;li&gt;background/resume
&lt;/li&gt;
&lt;li&gt;network changes
&lt;/li&gt;
&lt;li&gt;rotation
&lt;/li&gt;
&lt;li&gt;app restart
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This keeps results interpretable and bugs reproducible.&lt;/p&gt;


&lt;h2&gt;
  
  
  Common mobile bugs found through exploratory testing
&lt;/h2&gt;

&lt;p&gt;Exploratory testing is effective at finding low-frequency, high-impact bugs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;soft locks blocking progression
&lt;/li&gt;
&lt;li&gt;state inconsistencies after lifecycle changes
&lt;/li&gt;
&lt;li&gt;audio or visual desync after OS events
&lt;/li&gt;
&lt;li&gt;UI issues in specific device contexts
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These bugs often do not appear in scripted testing because scripted flows assume ideal conditions.&lt;/p&gt;


&lt;h2&gt;
  
  
  Example: Android reward claim soft lock
&lt;/h2&gt;

&lt;p&gt;In an Android exploratory testing session:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;repeatedly backgrounding the app
&lt;/li&gt;
&lt;li&gt;while a reward animation was running
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;caused a soft lock.&lt;/p&gt;

&lt;p&gt;Result:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UI remained visible
&lt;/li&gt;
&lt;li&gt;reward state never completed
&lt;/li&gt;
&lt;li&gt;progression blocked
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This issue only appeared under lifecycle interruption conditions.&lt;/p&gt;

&lt;p&gt;That is exactly why exploratory testing in mobile QA is necessary.&lt;/p&gt;


&lt;h2&gt;
  
  
  Bug evidence in exploratory testing
&lt;/h2&gt;

&lt;p&gt;Exploratory testing requires strong evidence to make findings actionable.&lt;/p&gt;

&lt;p&gt;I capture:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;screen recordings during the session
&lt;/li&gt;
&lt;li&gt;notes on device and network state
&lt;/li&gt;
&lt;li&gt;reproduction steps while context is fresh
&lt;/li&gt;
&lt;li&gt;expected vs actual behaviour
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A useful exploratory bug report answers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What changed?
&lt;/li&gt;
&lt;li&gt;What happened?
&lt;/li&gt;
&lt;li&gt;What should have happened?
&lt;/li&gt;
&lt;li&gt;Can it be reproduced?
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Key takeaway: exploratory testing in mobile QA
&lt;/h2&gt;

&lt;p&gt;Exploratory testing is structured testing, not random behaviour.&lt;/p&gt;

&lt;p&gt;In mobile QA, it matters because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;users interrupt flows
&lt;/li&gt;
&lt;li&gt;apps change state constantly
&lt;/li&gt;
&lt;li&gt;real-world conditions introduce timing issues
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good exploratory workflow turns unpredictable behaviour into reproducible bugs.&lt;/p&gt;


&lt;h2&gt;
  
  
  Full article and case study
&lt;/h2&gt;

&lt;p&gt;This DEV version focuses on the core workflow.&lt;/p&gt;

&lt;p&gt;The full version includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;expanded structure
&lt;/li&gt;
&lt;li&gt;deeper QA examples
&lt;/li&gt;
&lt;li&gt;full case study and evidence
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Read the full updated version:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/exploratory-testing.html" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkelinacowellqa.github.io%2FManual-QA-Portfolio-Kelina-Cowell%2Fassets%2Fimg%2Fog-default.webp" height="400" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/exploratory-testing.html" rel="noopener noreferrer" class="c-link"&gt;
            Exploratory Testing in Mobile Apps: QA Workflow &amp;amp; Real Bug Examples | Kelina Cowell
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Exploratory testing in mobile apps using real QA workflows and bug examples. Learn session structure, risk-based testing, and how exploratory testing finds issues scripted checks miss.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
          kelinacowellqa.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  Evidence and case study links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Rebel Racing: Charter-based Exploratory &amp;amp; Edge-Case Testing (full artefacts and evidence):&lt;br&gt;&lt;br&gt;
&lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/projects/rebel-racing/" rel="noopener noreferrer"&gt;https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/projects/rebel-racing/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;QA Chronicles Issue 2: Rebel Racing:&lt;br&gt;&lt;br&gt;
&lt;a href="https://kelinacowellqa.github.io/QA-Chronicles-Kelina-Cowell/issues/issue-02-rebel-racing" rel="noopener noreferrer"&gt;https://kelinacowellqa.github.io/QA-Chronicles-Kelina-Cowell/issues/issue-02-rebel-racing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This DEV version focuses on workflow. The case study expands into full QA artefacts, test runs, and evidence.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>ux</category>
      <category>testing</category>
      <category>qualityassurance</category>
    </item>
    <item>
      <title>Functional testing: the boring basics that catch real bugs</title>
      <dc:creator>Kelina Cowell</dc:creator>
      <pubDate>Sun, 21 Dec 2025 21:49:54 +0000</pubDate>
      <link>https://dev.to/kelina_cowell_qa/functional-testing-the-boring-basics-that-catch-real-bugs-1ion</link>
      <guid>https://dev.to/kelina_cowell_qa/functional-testing-the-boring-basics-that-catch-real-bugs-1ion</guid>
      <description>&lt;p&gt;⚠️ This is a condensed version of the article.&lt;/p&gt;

&lt;p&gt;👉 Read the full, updated version (canonical version):&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/functional-testing.html" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkelinacowellqa.github.io%2FManual-QA-Portfolio-Kelina-Cowell%2Fassets%2Fimg%2Fog-default.webp" height="400" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/functional-testing.html" rel="noopener noreferrer" class="c-link"&gt;
            Game QA Functional Testing Workflow (Battletoads PC Case Study) | Kelina Cowell
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Game QA functional testing workflow using a real Battletoads PC case study. Learn manual QA workflows, bug reporting, and reproducible defect evidence.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
          kelinacowellqa.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;This DEV version summarises the workflow. The full version includes complete structure, deeper examples, and full QA context.&lt;/p&gt;




&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What it is:&lt;/strong&gt; a game QA functional testing workflow for timeboxed solo passes
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backing project:&lt;/strong&gt; &lt;em&gt;Battletoads&lt;/em&gt; (PC Game Pass), one-week pass
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Approach:&lt;/strong&gt; validate start-to-control and Pause/Resume first, then expand where risk appears
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outputs:&lt;/strong&gt; pass/fail results, reproducible bug reports, and short evidence clips
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frfa4vnswepnmkg5dmspw.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frfa4vnswepnmkg5dmspw.webp" alt="Functional testing workflow diagram" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Game QA functional testing workflow used during a one-week Battletoads (PC) pass.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What functional testing is (in game QA)
&lt;/h2&gt;

&lt;p&gt;Functional testing answers one question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does the game do what it claims to do, end-to-end?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I validate core flows, confirm expected behaviour, and write issues so a developer can reproduce them without guessing.&lt;/p&gt;

&lt;p&gt;The mistake is treating this as “basic” testing.&lt;br&gt;&lt;br&gt;
It isn’t. It’s the foundation. If this breaks, everything else breaks in worse ways.&lt;/p&gt;


&lt;h2&gt;
  
  
  The first flows I verify
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Start to first control
&lt;/h3&gt;

&lt;p&gt;If “New Game” doesn’t reliably get you playing, nothing else matters.&lt;/p&gt;
&lt;h3&gt;
  
  
  Pause and Resume
&lt;/h3&gt;

&lt;p&gt;Pause stresses state, input routing, UI focus, and overlays.&lt;br&gt;&lt;br&gt;
If it’s unstable, you get bugs that look random but aren’t.&lt;/p&gt;


&lt;h2&gt;
  
  
  Input ownership (controller + keyboard)
&lt;/h2&gt;

&lt;p&gt;On PC, mixed input is not an edge case.&lt;/p&gt;

&lt;p&gt;It must be predictable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pause opens consistently
&lt;/li&gt;
&lt;li&gt;Navigation respects active input
&lt;/li&gt;
&lt;li&gt;Confirm/back always respond
&lt;/li&gt;
&lt;li&gt;Input hand-off doesn’t break UI
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this pass, mixed input caused misrouted actions (e.g. Resume opening Join In) and temporary controller lockups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pattern:&lt;/strong&gt; controller + keyboard + menu = focus bugs.&lt;/p&gt;


&lt;h2&gt;
  
  
  Bug evidence (what matters)
&lt;/h2&gt;

&lt;p&gt;I keep it simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Video (10–30s):&lt;/strong&gt; shows input, timing, outcome
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screenshot:&lt;/strong&gt; supports UI state
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Environment:&lt;/strong&gt; build, platform, input device
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If someone can’t see what happened immediately, the evidence isn’t good enough.&lt;/p&gt;


&lt;h2&gt;
  
  
  One-week workflow
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Day 1:&lt;/strong&gt; smoke + baseline flows
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Days 2–4:&lt;/strong&gt; run tests, expand on risk, log bugs
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Days 5–6:&lt;/strong&gt; retest + tighten repro
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Day 7:&lt;/strong&gt; summarise
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I always repeat a baseline loop (load → control → pause → resume) at the start of each session.&lt;br&gt;&lt;br&gt;
It catches breakage early.&lt;/p&gt;


&lt;h2&gt;
  
  
  Key takeaway
&lt;/h2&gt;

&lt;p&gt;Functional testing finds &lt;strong&gt;high-impact bugs early&lt;/strong&gt; because it targets the systems everything depends on.&lt;/p&gt;

&lt;p&gt;Most “random” bugs aren’t random.&lt;br&gt;&lt;br&gt;
They’re patterns you only see when you repeat simple flows properly.&lt;/p&gt;


&lt;h2&gt;
  
  
  Full case study and breakdown
&lt;/h2&gt;

&lt;p&gt;This DEV version focuses on the workflow.&lt;/p&gt;

&lt;p&gt;The full version includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;complete structure
&lt;/li&gt;
&lt;li&gt;deeper examples
&lt;/li&gt;
&lt;li&gt;full QA context and artefacts
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Read the full, updated article:&lt;br&gt;
&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/functional-testing.html" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkelinacowellqa.github.io%2FManual-QA-Portfolio-Kelina-Cowell%2Fassets%2Fimg%2Fog-default.webp" height="400" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://kelinacowellqa.github.io/Manual-QA-Portfolio-Kelina-Cowell/articles/functional-testing.html" rel="noopener noreferrer" class="c-link"&gt;
            Game QA Functional Testing Workflow (Battletoads PC Case Study) | Kelina Cowell
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Game QA functional testing workflow using a real Battletoads PC case study. Learn manual QA workflows, bug reporting, and reproducible defect evidence.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
          kelinacowellqa.github.io
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>gametesting</category>
      <category>qualityassurance</category>
      <category>gamedev</category>
      <category>ux</category>
    </item>
  </channel>
</rss>
