The Team That Builds Test Cases

 ・ 4 min

photo by De an Sun(https://unsplash.com/@andyadcon?utm_source=templater_proxy&utm_medium=referral) on Unsplash

Software Testing -- How Far Have You Gone?#

Everything You Need to Know About Testing in Practice#

Testing in software development is so much more than just "catching bugs."
It's a core process that improves quality, earns user trust, and determines the success of your service.
In this post, I've put together everything you need to know -- from testing tools and methods commonly discussed in practice, to test case design, automation, and quality management.

1. Why Is Testing So Complicated?#

Types and Purposes of Testing#

  • Unit Test: Verifies the smallest units (functions, classes, etc.) of code written by developers

    • Popular tools: Google Test (GTest), Jest, etc.
  • Integration Test: Checks whether multiple modules and components work well together

    • UI component rendering, user scenario verification, etc.
  • System Test / QA: Confirms the entire system works properly in a real user environment

    • Leverages automation tools like Selenium, JMeter, nGrinder
  • Static Analysis / Code Review: Inspects source code quality, security, and standards compliance without running the code

    • Polyspace, Codesonar, Helix QAC, etc.

2. Frontend Testing Is Different#

  • Squint Test: Check whether the CTA (main button) stands out even when you squint at the screen

    • An intuitive check for UI/UX quality
  • Automated Testing: Automatically verify repetitive UI actions with Selenium, Jest, etc.

    • Use test coverage tools to identify missed areas

3. How Do You Create and Manage Test Cases?#

Test Case Components#

  • Input
  • Pre-condition
  • Post-condition
  • Expected Output

Example:
"When clicking the login button, if the account is valid, navigate to the main screen."

When and Where Do You Create Test Cases?#

  • Requirements Analysis / Design Phase: Use requirements management software and design support tools
  • Implementation Phase: Developers write unit/integration test cases directly
  • Test Management Tools: Manage systematically with TestRail, Zephyr, etc.

4. "Do We Really Have to Run Every Test?"#

  • Realistically, it's hard to run 100% of all tests
    • Practical constraints like release schedules, staffing, and budget
  • Prioritization is key
    • Features with high user impact, critical areas like security/payments must be tested
    • The rest can be addressed selectively based on risk, frequency, and importance

5. Reducing Errors: Documentation and Systematization#

  • Preventing recurrence when errors occur

    • After root cause analysis, document checklists and guides
    • Solve recurring mistakes through automation or systematization
  • Preventing human error

    • Forbidden input words: Instead of only showing warnings when a button is submitted, improve UX with real-time guidance during input (red underlines, etc.)

6. Testing with AI and Big Data#

  • AI-based test automation
    • Automatic test case generation, defect prediction, UI/UX improvement suggestions
  • Leveraging big data
    • Analyze user behavior logs -> automatically detect frequently occurring errors and usability degradation points

7. Testing Tools Commonly Used in Practice#

  • Performance Testing: JMeter, nGrinder, GameBench
  • Automated Testing: Selenium, RPA (Robotic Process Automation)
  • Security Testing: Sparrow DAST, Invicti, AppScan (dynamic), Codesonar, Helix QAC (static)
  • Test Case Management: TestRail, Zephyr

8. Standards and References#

  • ISO/IEC 25010: Software product quality model standard, presenting quality characteristics (functionality, reliability, usability, etc.)
  • White-box / Black-box / Gray-box Testing: Categorized by internal structure, external behavior, and hybrid approaches
  • TTA (Telecommunications Technology Association) Training Materials: SW testing PDFs for practitioners and aspiring developers

9. Integration Testing Core Checklist#

  1. Define groups/scenarios
  2. Verify UI component rendering
  3. Validate user behavior-based interactions

Wrapping Up#

Testing isn't the "final gate" of development -- it's the "quality guardian" that's with you from start to finish.
It's tough to execute every test perfectly, but through prioritization, automation, and documentation/systematization, we can keep building better software.


Trust yourself. You know more than you think you do.

— Benjamin Spock


Other posts
How to Raise Startup Funding 커버 이미지
 ・ 4 min

How to Raise Startup Funding

Entrepreneurship and the Role of a Founder 커버 이미지
 ・ 4 min

Entrepreneurship and the Role of a Founder

What to Do Before Starting a Business 커버 이미지
 ・ 4 min

What to Do Before Starting a Business