End-to-end test

종단 간 테스트

Run a user journey through the product from the first action to the final outcome.

···
html
<div class="stage"><div class="title">END-TO-END TEST</div><div class="canvas"><div class="journey"><div class="step" id="s0"><strong>01</strong><span>Sign up</span></div><div class="path"></div><div class="step" id="s1"><strong>02</strong><span>Create item</span></div><div class="path"></div><div class="step" id="s2"><strong>03</strong><span>See in list</span></div></div><div class="cursor" id="cursor">↖</div><div class="ok" id="ok">journey running</div></div></div>
css
.stage{width:min(94vw,820px);height:min(88vh,330px);box-sizing:border-box;padding:clamp(9px,2.4vmin,18px);border:1px solid var(--line);border-radius:13px;background:var(--surface);display:flex;flex-direction:column;gap:clamp(7px,2vmin,14px);font:600 clamp(12px,2.5vmin,16px)/1.28 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;color:var(--fg);overflow:hidden}.title{color:var(--accent);letter-spacing:.035em;flex:none}.canvas{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,monospace}.box{border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:clamp(5px,1.4vmin,12px);text-align:center}.active{border-color:var(--accent)!important;color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important}.journey{display:flex;align-items:center;width:100%;max-width:680px}.step{flex:1;display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;border:1px solid var(--line);border-radius:8px;padding:clamp(6px,2vmin,15px) 2px}.step strong{font-family:ui-monospace,monospace;color:var(--muted)}.path{flex:.28;height:2px;background:var(--line)}.cursor{position:absolute;bottom:12%;left:14%;color:var(--accent);font-size:clamp(19px,5vmin,32px);transition:left .45s,top .45s}.ok{position:absolute;bottom:0;color:var(--accent)}
js
let step=0;function walk(){document.querySelectorAll('.step').forEach((el,i)=>el.classList.toggle('active',i<=step));document.getElementById('cursor').style.left=[14,48,82][step]+'%';document.getElementById('ok').textContent=step===2?'journey passed':'journey running';step=(step+1)%3}walk();setInterval(walk,900)

An end-to-end test starts in the browser or app and checks the outcome after the server and storage have done their work. It finds broken screen wiring and journey failures missed by smaller tests.

The demo walks through sign-up, creation, and list update. These tests cost more and can be fragile, so select critical journeys and verify the persisted outcome where possible.

When to use

Use it for critical journeys such as sign-up, checkout, or creating content.

Open as page ↗