No dead ends. Every link goes somewhere real. Never a blank page, never a raw error, never a spinner that spins forever.
Arabic is a first-class language. If a page has an Arabic version it must read right-to-left, be fully translated, and show normal (Gregorian) dates — never Hijri.
Nothing may lie. If something fails, it must say so. A screen must never show “success” for something that didn't happen.
Anything that breaks one of these three goes in your bug table — even if it looks small.
The three testers
Asim
Full pass · 47 checks
Same job as the others — walk the entire site and the CMS. Use your own device and browser, and log what you see in your own table.
Ahmed
Full pass · 47 checks
Same job as the others. Pick a different browser to Asim (and a phone where a step says so) so we cover more ground.
Abdulaziz
Full pass · 47 checks
Same job as the others. Third device/browser. Where a step names someone else, wait for their handoff, then do yours.
Nobody “owns” an area — the checks are split evenly so all three of you touch the home page, the content, the radar, accounts, events, the CMS and Arabic. Three pairs of eyes on the same site is the point: if two of you see it, it's real; if one of you sees it, it might be device-specific — say which device in your row.
Accounts for this run
Whoever ran node smoke/setup-test-accounts.mjs pastes the accounts in here once — it saves to the shared sheet, so all three of you see the same logins. Throwaway test accounts only: they get deleted in Act 13, and these passwords are never reused anywhere real.
Everyone gets the same access — no roles, no differences. All three of you get a full Super Admin CMS account and an identical website account, so nobody is ever blocked from a step.
You each have two logins, and that is not a permission setting: Strapi keeps website users and CMS staff in completely separate account systems. A website account can never open /admin no matter what, so CMS access needs its own admin account.
The website account starts as a normal signed-in user and becomes a contributor during Act 8 — that upgrade is part of the test, not a setup step.
Tester
Device / browser
Website email
Website password
CMS admin email
CMS password
Asim
Ahmed
Abdulaziz
Before you start
Everyone has the site address and it loads.
All three of you can log in to the CMS admin.
You're each on a different device or browser — write which in your table's first row.
At least one of you is on a real phone (iPhone or Android).
There are at least 2 test events, one of which needs approval to join.
Everything you create is named starting with TEST — so we can delete it after.
An email inbox you can actually check (for sign-up and event emails).
Known already — please don't log these:
Only some pages have an Arabic version (home, AI Radar, Articles, Search). Arabic menu links for other sections go to the English page on purpose.
Courses is a “coming soon” page for now.
The X / Twitter posts on the home page are a saved snapshot of real posts, not a live feed.
Library / saved items / preferences are stored on your own device for now — they won't follow you to another phone.
The AI Radar can take a few seconds on the very first visit while the 3D scene loads.
The CMS Analytics Dashboard says it needs setting up — expected until traffic analytics is switched on.
The run, act by act
0
1
2
3
4
5
6
7
8
9
10
11
12
13
0
Get set up
15 min
AsimOpen the home page on your device. It loads fully — logo, menu, content — with no error.
AhmedOpen the home page on your device. Put your name + device + browser in the first row of your bug table.
AbdulazizOpen the home page on your device. Confirm you're on a different browser to the other two.
AsimOpen the Arabic home page once — it reads right-to-left.
AhmedLog in to the CMS admin — you can see the content lists.
AbdulazizOn a phone, open the site — nothing cut off, no sideways scrolling.
Good if: all three of you are in, on different devices, and the first load is clean.
1
Home page & getting around
25 min
AsimRead only the first screen. Is it clear what ICAIRE is and what to do next? Note anything confusing.
AhmedTry the four pillar cards under the hero — each opens the page it promises.
AbdulazizClick every item in the top menu: Home, AI Radar, Articles, News, Events, Courses, Podcasts, Glossary, About. None should 404.
AsimClick every footer link — including Terms, Content policy, FAQ and Partners. Log any dead link.
AhmedOn a phone, open the menu button — every section is reachable and tappable.
AbdulazizScroll the home page through latest updates, articles, events and podcasts.
AsimKeep scrolling: contributors, partners, the X posts — and press play on the intro video.
AbdulazizUse the search box in the header — type AI and press enter.
AbdulazizPress the language button (العربية) and back again — you land somewhere sensible, not an error.
AbdulazizType a made-up address like /no-such-page — a proper “not found” page, not a crash.
AhmedPress Contribute in the header — it opens (it may ask you to sign in).
AbdulazizFrom a deep page, click the logo — it takes you home.
Good if: every menu and footer link goes somewhere real, the home page tells a clear story, and the phone menu works.
2
Reading the content
35 min
AsimNews — open the list, then open a story. Picture, date and text all look right.
AhmedArticles — filter by a topic, use the search box, then open an article.
AbdulazizArticles — from the bottom of an article, follow a “related” article.
AsimEvents — open the list, try the filters, open an event, check the location/map shows.
AhmedGlossary — use the A–Z, search a term, open a term, check the “word of the day”.
AbdulazizPodcasts — a thumbnail shows and the video plays or opens YouTube.
AbdulazizTools — open a category, then follow a tool's link out.
AhmedAbout — play the video. Partners — the logos load.
AbdulazizFAQ — open and close a question. Courses — the “coming soon” page loads.
AsimOpen a contributor's profile from an article byline — their page and their articles show.
AhmedOn a long article: is the text comfortable to read on your device? No overlap, no huge gaps.
AbdulazizFind any empty list or section — it says something helpful, not blank white space.
Good if: every content type opens, pictures and dates look right, and nothing is blank or broken.
3
The AI Radar — the 3D view
30 min
AsimOpen AI Radar. It finishes loading (first visit is slower) and you see the dial with dots.
AhmedDrag to spin it and scroll/pinch to zoom — smooth, no jumping or flickering.
AsimSwitch TOP ↔ PERSPECTIVE — the view changes cleanly both ways.
AsimClick a dot. A card opens with name, tags and use cases; the other dots dim; the sweeping beam stops.
AhmedLook at the selected dot's shadow — it should sit right under the dot, not float away from it.
AhmedClose the card (×) — everything comes back and the beam sweeps again.
AsimUse SEARCH on the radar: type a name, click the result — the camera flies to that dot.
AhmedUse FILTER: turn categories and maturity levels on/off — dots leave and come back.
AsimCheck the legend/key colours match the dots you actually see.
AsimDo the numbers agree? The heading mentions a total; the badge below shows a count. If they differ, log it.
AhmedOn a phone: it loads, you can spin it, and you can open and read a card.
AhmedPress RESET — the view goes back to the start.
Good if: the radar loads, spins smoothly, cards open/close cleanly, and search + filter both work.
4
AI Radar — deep dives & sharing
20 min
AsimFrom a card press OPEN FULL PAGE — the technology's own page opens with description, use cases and alternatives.
AhmedOn that page, use the breadcrumb links at the top to get back.
AsimADD TO COMPARE on two different technologies, then open the comparison.
AsimPress Visit source — the outside website opens in a new tab.
AhmedWith a card open, copy the web address and paste it into a new tab — the same technology should be selected again.
AhmedOpen the Arabic radar — it works and reads right-to-left.
AsimTurn on “reduce motion” in your device settings and reload the radar — it still works, just calmer.
AhmedReach a radar technology page from a search result instead of the radar.
AsimZoom your browser to 150% on the radar page — nothing breaks or overlaps.
Good if: every radar link goes somewhere real, and sharing a link keeps the selected technology.
5
Search
15 min
AsimSearch for something that exists (e.g. ethics) — results are grouped and clickable.
AhmedClick a result — it opens the right page.
AbdulazizSearch nonsense (e.g. zzzqqq) — a friendly “nothing found”, not an error or a blank page.
AsimSearch in Arabic on the Arabic search page — Arabic results, right-to-left layout.
AbdulazizSearch an empty string / just spaces — it handles it politely.
AbdulazizPaste a very long piece of text into search — no crash, no broken layout.
Good if: search finds real things, and “nothing found” is handled kindly.
6
Accounts & signing in
30 min
AsimSign up a brand-new account (TEST —…). Note anything confusing or any unclear error.
AhmedSign up your own new account too (TEST —…).
AbdulazizSign up your own new account too (TEST —…).
AsimComplete your profile / account setup, then open Profile.
AhmedTry to sign up again with the same email — it refuses clearly, no crash.
AbdulazizSign in with a wrong password — clear message, and it must not let you in.
AsimChange your password, sign out, then sign in with the new one.
AhmedOpen My events, Library and Preferences — each opens (they may be empty).
AbdulazizWhile signed out, type the Profile address straight into the bar — you're sent to sign in, never shown someone's data.
AsimSign out. The header goes back to “Sign in”. Press back — you must not still be signed in.
AhmedClose the browser, reopen the site — note whether you're still signed in (either way, write what happened).
AbdulazizSign in with your account on a second device — it works on both.
Good if: sign up / in / out and password change all work, and signed-out visitors can never reach private pages.
7
Event sign-ups & approval
25 min
AsimIn the CMS, make sure one test event needs approval and another does not.
AhmedRegister for the instant event — you're confirmed right away and the page says so.
AbdulazizRegister for the approval event — it clearly says waiting for approval, not “confirmed”.
AhmedRegister for the approval event as well, so there are two people in the queue.
AbdulazizTry to register for the same event twice — it stops you politely, no duplicate.
AhmedOpen My events — your registrations show with the correct status.
AsimIn the CMS Events Management page, find both sign-ups. Approve one and reject the other.
AhmedRefresh My events — your status now matches what Asim did.
AbdulazizCheck your email — the approval / rejection message arrived and reads properly.
AsimWhile signed out, open an event — you're invited to sign in to register (no crash, no fake success).
AbdulazizCheck the capacity / numbers on the event page: you should not see them as a normal user.
AsimAs the admin, confirm you can see the capacity, and that the CMS lists each registration with the right name and email.
Good if: “waiting for approval” vs “confirmed” is obvious, statuses update after the admin acts, and the emails arrive.
8
Contributing an article
35 min
AsimApply to become a contributor from the Contribute page — you get a clear “received / pending” message.
AhmedApply to become a contributor from your account too.
AbdulazizIn the CMS: approve Asim's request and reject Ahmed's.
AhmedCheck the rejection — you're told clearly, and kindly, that you weren't approved.
AsimWrite a submission: title, body text and a cover image. Save as draft.
AbdulazizIn the CMS, approve Ahmed's second attempt so he can submit too.
AsimLeave the page and come back — your draft still has everything you typed.
AhmedWrite your own article and submit it for review. The status changes and it's clearly waiting.
AbdulazizIn the CMS, find Ahmed's article under review and send it back asking for a change (leave a comment).
AhmedYou can see it needs your action and why. Fix it and send it again.
AbdulazizIn the CMS, approve and publish it.
AsimFind the published article on the public site — in the Articles list and via search. Then paste some HTML into a draft body and confirm it shows as plain text, never runs.
Good if: the whole draft → review → published journey works, and nobody can touch work that isn't theirs.
9
Arabic & right-to-left
20 min
AsimOpen the Arabic home and Articles pages — the text is actually Arabic, no leftover English or placeholders.
AhmedOpen the Arabic AI Radar and an Arabic radar technology page.
AbdulazizOpen the Arabic Search page and search an Arabic word.
AsimThe layout is mirrored: logo, menu and arrows all sit on the correct side.
AhmedDates are normal Gregorian dates. If you see a Hijri date anywhere, log it immediately.
AbdulazizOn a phone in Arabic: no sideways scrolling, nothing cut off, buttons still tappable.
AsimSwitch language while deep inside a page — you end up on the matching page, not the home page or an error.
AhmedConfirm Arabic menu items without an Arabic page go to the English one (expected — just check it's not an error).
AbdulazizCheck numbers and times read correctly in Arabic event and article dates.
Good if: Arabic reads correctly, dates are Gregorian, and nothing is cut off or mirrored the wrong way.
10
The CMS (behind the scenes)
25 min
AsimCreate a news item and publish it → find it on the public News page.
AhmedEdit that item and publish again → the public page shows the change (may take a moment).
AbdulazizCreate something and leave it as a draft → it must not appear on the public site.
AbdulazizUnpublish the news item → it disappears from the public page.
AhmedUpload an image to the media library and use it on an item → it shows on the site.
AbdulazizAdd an event and a glossary term → both appear publicly, in the right place.
AsimOpen Events Management — registrations and numbers look correct.
AhmedOpen the Analytics Dashboard — note what it says (a setup message is expected for now).
AbdulazizTry to delete something that's in use (e.g. a category) — it warns you instead of breaking the site.
Good if: published content appears, drafts stay hidden, and edits reach the public site.
11
When things go wrong · looks & speed
25 min
Asim(Agree a time with the others first) Turn the CMS off. The public pages must still load with content.
AhmedWhile the CMS is off, try to sign in — a clear “temporarily unavailable”, never a fake success, never a crash.
AbdulazizWhile the CMS is off, browse News, Articles and the Radar — still readable.
AsimTurn the CMS back on — everything recovers without anyone clearing anything.
AhmedPut your phone in airplane mode mid-action, then turn it back on — it recovers sensibly.
AbdulazizRefresh in the middle of a form — nothing weird, and you're not half-signed-in.
AsimUse back and forward a lot across many pages — the right content shows and you land at the top.
AbdulazizPut silly input in forms: very long text, emoji, Arabic, and <script> — refused or shown as plain text, never run.
AbdulazizOn first load of a few pages: does anything flash, jump or move after it appears?
AhmedPhone at its smallest width: no sideways scrolling anywhere, and every button is big enough to tap.
AbdulazizOpen the browser console on ~5 pages and note any red errors (paste the first line into your table).
Good if: the public site never dies, no screen ever claims success falsely, and nothing jumps or gets stuck.
12
The mobile version
30 min
AsimHome on a phone: the hero reads well, buttons are big enough to tap, and there is no sideways scrolling.
AhmedThe phone menu button: it opens, every section is reachable, and it closes again properly.
AbdulazizNews on a phone: open the list and a story — images fit, text is readable, the date shows.
AsimAI Radar on a phone: it loads, you can spin and zoom it, and a card opens and is readable.
AhmedA radar card on a phone: OPEN FULL PAGE and ADD TO COMPARE are both easy to tap.
AbdulazizEvents on a phone: open the list and an event — the location/map fits and the register button is reachable.
AsimGlossary on a phone: the A–Z jumps work with a thumb and a term page reads well.
AhmedSign in and Profile on a phone: the keyboard doesn't cover the fields and the page doesn't jump/zoom when you tap one.
AbdulazizArticles on a phone: the list and an article — comfortable line length, images fit, nothing overlaps.
AsimThe Arabic home page on a phone: right-to-left is correct and nothing is cut off.
AhmedRotate the phone sideways (landscape) on three different pages — nothing breaks or overlaps.
AbdulazizFooter links and the Contribute form on a phone: everything is tappable and the form is usable.
Good if: every main page is comfortable on a real phone — nothing cut off, nothing sideways-scrolling, every button tappable.
13
Wrap up
15 min
AsimGo through your table: mark each bug Big or Small.
AhmedGo through your table: mark each bug Big or Small.
AbdulazizGo through your table: mark each bug Big or Small.
AsimPress Copy all three tables and paste it where the fixes get tracked.
AhmedDelete everything you created named TEST —: account, submissions, registrations.
AbdulazizDelete your TEST — items too, then confirm the public site looks normal again.
Good if: every bug is written down and every piece of test data is gone.
Bug tables — one each
Click a cell and type. Everything saves automatically and all three tables are shared live, so you can see each other's findings. Write it as: what you did → what you expected → what actually happened, and attach a screenshot.
Asim
0 logged
#
Status
Live?
Area
What went wrong (did → expected → happened)
Bad?
Device
Note
Shot
Ahmed
0 logged
#
Status
Live?
Area
What went wrong (did → expected → happened)
Bad?
Device
Note
Shot
Abdulaziz
0 logged
#
Status
Live?
Area
What went wrong (did → expected → happened)
Bad?
Device
Note
Shot
Ready or not? Only call it ready if nothing important is broken. If something important breaks, fix it and re-run just that act. Use TEST — names, never real people's personal information, and delete all test data at the end.