मुख्य सामग्री पर जाएं
Clinford Jordano Valencia
सभी प्रोजेक्ट
प्लेटफ़ॉर्म

टेस्ट स्टेट इंजेक्शन टूल

सर्वर-समर्थित स्टेट इंजेक्शन, जो QA और ऑटोमेशन को लंबे फ़्लो के किसी भी चरण पर सीधे पहुँचा देता है, और रिग्रेशन सेटअप को कई मिनट से घटाकर एक मिनट से कम कर देता है।

टेक स्टैक
TypeScript · Playwright · BFF · Test database

समस्या

किसी लंबे फ़्लो के चरण 5 का बग जाँचने के लिए पहले चरण 1 से 4 हाथ से पूरे करने पड़ते थे: सही जानकारी, अपलोड, जाँचें। हर बार, हर pull request और हर ऑटोमेटेड रन के लिए।

तरीका

यह टूल टेस्टर या स्क्रिप्ट को ऐप ठीक उसी स्टेट में खोलने देता है जो उन्हें चाहिए।

  1. एक Playwright स्क्रिप्ट या QA इंजीनियर सुरक्षित टेस्ट टोकन के साथ पेज लोड करता है, जैसे ?state=step_4_ready।
  2. फ्रंटएंड हाइड्रेशन के समय टोकन देखता है और उसे हेडर में BFF को भेज देता है।
  3. BFF जाँचता है कि वातावरण सख़्ती से नॉन-प्रोडक्शन है, फिर टेस्ट डेटाबेस में उपयोगकर्ता का सेशन भर देता है: पिछले चरण पूरे, सक्रिय पॉइंटर चरण 4 पर।
  4. BFF एक असली सेशन टोकन लौटाता है और UI तुरंत चरण 4 दिखा देता है।

मैंने क्लाइंट पर localStorage को मॉक करने के बजाय सर्वर-समर्थित इंजेक्शन चुना। आधुनिक ऐप सेशन को बैकएंड पर वैलिडेट करते हैं, इसलिए सिर्फ़ क्लाइंट का मॉक हक़ीक़त से दूर होता जाता है और ऐसे टेस्ट बनाता है जो यहाँ पास हों पर प्रोडक्शन में फ़ेल।

नतीजा

रिग्रेशन सेटअप प्रति चक्र 10–20 मिनट से घटकर एक मिनट से कम रह गया। हर हफ़्ते कई pull request रन और ऑटोमेशन सुइट के साथ, इससे हर तिमाही सैकड़ों इंजीनियरिंग घंटे वापस मिले।