本文へスキップ
Testing

Guia de bug report y reproduccion para proyectos principiantes

Aprende a registrar bugs para reproducirlos, verificarlos y corregirlos despues sin depender de una memoria vaga.

公開日: 2026-06-23#bug report#reproduction#debugging#beginner

Quick Start

Empieza con una version pequena

Muchos arreglos se atascan no porque el bug sea imposible, sino porque el problema se anoto de forma demasiado vaga. Un principiante deberia guardar siempre cuatro datos: sintoma, lugar, pasos de reproduccion y resultado esperado.

Construyelo con pequenos fragmentos

1. 値を用意する

Inspectorで変更できる値と表示先を置きます。

BugReproTutorial.cs
csharp
    [SerializeField] private TextMeshProUGUI statusText;
    [SerializeField] private float stepCount = 1f;
    [SerializeField] private float errorCount = 2f;
    [SerializeField] private float logLineCount = 3f;

2. 状態を変える

ボタンを押した時に、1つだけ状態を進めます。

BugReproTutorial.cs
csharp
    public void NextStep()
    {
        step = (step + 1) % 3;
        var label = step == 0 ? "症状を記録" : step == 1 ? "手順を並べる" : "ログを添える";
        if (statusText != null)
        {
            statusText.text = $"{label}\nstepCount={stepCount:0.##}\nerrorCount={errorCount:0.##}\nlogLineCount={logLineCount:0.##}";
        }

3. 画面に表示する

変わった結果を画面に出して確認します。

BugReproTutorial.cs
csharp
        if (statusText != null)
        {
            statusText.text = $"{label}\nstepCount={stepCount:0.##}\nerrorCount={errorCount:0.##}\nlogLineCount={logLineCount:0.##}";
        }
        Debug.Log($"バグ報告と再現手順: {label}");

Script completo

BugReproTutorial.cs
csharp
using UnityEngine;
using TMPro;

public class BugReproTutorial : MonoBehaviour
{
    [SerializeField] private TextMeshProUGUI statusText;
    [SerializeField] private float stepCount = 1f;
    [SerializeField] private float errorCount = 2f;
    [SerializeField] private float logLineCount = 3f;

    private int step;

    public void NextStep()
    {
        step = (step + 1) % 3;
        var label = step == 0 ? "症状を記録" : step == 1 ? "手順を並べる" : "ログを添える";
        if (statusText != null)
        {
            statusText.text = $"{label}\nstepCount={stepCount:0.##}\nerrorCount={errorCount:0.##}\nlogLineCount={logLineCount:0.##}";
        }
        Debug.Log($"バグ報告と再現手順: {label}");
    }
}

Inspector

Conecta la referencia de UI en el Inspector y confirma cada cambio con el boton.

Resumen

Que deberias llevarte

Aprende a registrar bugs para reproducirlos, verificarlos y corregirlos despues sin depender de una memoria vaga.