परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण · पाठ

परीक्षण डेटा प्रबंधन

दोहराए जा सकने वाले E2E परीक्षण सुनिश्चित करने के लिए परीक्षण डेटा बनाने, प्रबंधित करने और साफ़ करने की रणनीतियाँ विकसित कीजिए।

पाठ 3, कुल 4 में से11 चरण

परीक्षण डेटा प्रबंधन, CoddyKit पर परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

E2E परीक्षण डेटा की मूल बातें

एंड-टू-एंड (E2E) परीक्षण करते समय परीक्षण डेटा बहुत महत्वपूर्ण होता है। यह वह जानकारी है जिसका आपका अनुप्रयोग परीक्षण के दौरान उपयोग करता है, जैसे उपयोगकर्ता खाते, उत्पाद विवरण या ऑर्डर का इतिहास।

अच्छे परीक्षण डेटा के बिना आपके E2E परीक्षण अविश्वसनीय हो जाते हैं। कल्पना कीजिए कि कार्ट में कोई उत्पाद या पंजीकृत उपयोगकर्ता न होने पर ई-कॉमर्स चेकआउट का परीक्षण किया जाए!

E2E डेटा की चुनौतियाँ

E2E परीक्षणों के लिए परीक्षण डेटा प्रबंधित करने में कुछ विशिष्ट चुनौतियाँ आती हैं:

  • जटिलता: E2E परीक्षण अक्सर सिस्टम के कई हिस्सों के साथ इंटरैक्ट करते हैं, जिसके लिए जटिल डेटा सेटअप आवश्यक होते हैं।
  • निर्भरताएँ: डेटा बाहरी सिस्टम या अन्य मॉड्यूल पर निर्भर हो सकता है, जिससे उसे नियंत्रित करना कठिन हो जाता है।
  • स्थिति-निर्भरता: परीक्षण सिस्टम को अनपेक्षित स्थिति में छोड़ सकते हैं, जिससे बाद के परीक्षण प्रभावित होते हैं।
  • सफाई: परीक्षण के बाद डेटा हटाना कठिन हो सकता है, लेकिन दोहराए जा सकने वाले परीक्षणों के लिए यह अत्यंत आवश्यक है।

API के माध्यम से डेटा बनाएँ

एक सामान्य रणनीति है कि अपने अनुप्रयोग के API (जैसे REST API एंडपॉइंट) का उपयोग करके प्रोग्राम के माध्यम से परीक्षण डेटा बनाया जाए। इससे यह सुनिश्चित होता है कि डेटा उसी सत्यापन तर्क से गुज़रे जिससे वास्तविक उपयोगकर्ता डेटा गुज़रता है।

API के माध्यम से उपयोगकर्ता बनाने वाले इस उदाहरण को चलाकर देखें:

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
  public static void main(String[] args) throws IOException, InterruptedException {
    String jsonPayload = "{\"username\": \"testuser\", \"email\": \"test@example.com\"}";
    HttpClient client = HttpClient.newHttpClient();
    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://api.example.com/users"))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
        .build();

    HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println("API Call Status: " + response.statusCode());
    System.out.println("Response Body: " + response.body());
  }
}

डेटाबेस स्क्रिप्ट से डेटा

कुछ E2E परीक्षणों के लिए आपको SQL स्क्रिप्ट का उपयोग करके डेटाबेस में सीधे डेटा डालना पड़ सकता है। यह तेज़ होता है, लेकिन आपके अनुप्रयोग के व्यावसायिक तर्क को छोड़ देता है।

इस विधि का सावधानी से उपयोग करें, आमतौर पर आधारभूत डेटा के लिए या तब जब API के माध्यम से डेटा बनाना बहुत धीमा या जटिल हो।

INSERT INTO users (id, username, email)
VALUES (101, 'db_user', 'db@example.com');

INSERT INTO products (id, name, price)
VALUES (201, 'Test Product A', 19.99);

परीक्षण डेटा फ़ैक्टरी का उपयोग

परीक्षण डेटा फ़ैक्टरियाँ (या जनरेटर) ऐसे उपकरण या कस्टम क्लास हैं जो वास्तविक जैसे, विविध डेटा का निर्माण स्वचालित करते हैं। Faker जैसी लाइब्रेरी नाम, पते और अन्य जानकारी बना सकती हैं।

इससे बिना मैन्युअल प्रयास के विविध परीक्षण परिदृश्य बनाए जा सकते हैं। फ़ैक्टरी की एक सरल अवधारणा यहाँ दी गई है:

// Imagine a UserFactory class
class User {
    String username;
    String email;
    public User(String username, String email) {
        this.username = username;
        this.email = email;
    }
    @Override
    public String toString() {
        return "User: " + username + " (" + email + ")";
    }
}

class UserFactory {
    private static int counter = 0;
    public static User createRandomUser() {
        counter++;
        return new User("user_" + counter, "user" + counter + "@example.com");
    }
}

public class Main {
  public static void main(String[] args) {
    User user1 = UserFactory.createRandomUser();
    User user2 = UserFactory.createRandomUser();
    System.out.println(user1);
    System.out.println(user2);
  }
}

परीक्षण डेटा को अलग रखें

सबसे महत्वपूर्ण सिद्धांतों में से एक है परीक्षण डेटा का पृथक्करण। आदर्श रूप से प्रत्येक परीक्षण या परीक्षण समूह को अपने अलग और विशिष्ट डेटा सेट पर काम करना चाहिए।

इससे परीक्षण एक-दूसरे में हस्तक्षेप नहीं करते, वे अधिक विश्वसनीय बनते हैं और उनमें त्रुटि ढूँढना आसान होता है। साझा डेटा के कारण ऐसे अस्थिर परीक्षण हो सकते हैं जो कभी सफल और कभी असफल हों।

पर्यावरण का डेटा

अक्सर विभिन्न पर्यावरणों (जैसे विकास, स्टेजिंग और उत्पादन) में परीक्षण डेटा अलग होना आवश्यक होता है। आपके पास कुछ विशेष कॉन्फ़िगरेशन या बाहरी सेवा एकीकरण हो सकते हैं जिनके लिए विशिष्ट डेटा चाहिए।

इसे प्रबंधित करने के लिए पर्यावरण चर, कॉन्फ़िगरेशन फ़ाइलों या प्रत्येक पर्यावरण के लिए समर्पित डेटा सेट का उपयोग करें।

डेटा की सफाई अत्यंत आवश्यक है

परीक्षण डेटा बनाना केवल आधा काम है; उसकी सफाई करना भी उतना ही महत्वपूर्ण है। परीक्षण चलने के बाद उसके द्वारा बनाया गया कोई भी डेटा हटा दिया जाना चाहिए।

सफाई इतनी महत्वपूर्ण क्यों है?

  • यह सुनिश्चित करती है कि परीक्षण वास्तव में दोहराए जा सकें।
  • यह आपके परीक्षण पर्यावरण में डेटा के अनावश्यक जमाव को रोकती है।
  • यह बाद के परीक्षणों पर होने वाले अनपेक्षित प्रभावों से बचाती है।

प्रोग्राम के माध्यम से सफाई

जिस तरह आप प्रोग्राम के माध्यम से डेटा बनाते हैं, उसी तरह आपको उसे प्रोग्राम के माध्यम से हटाना भी चाहिए। इसमें 'delete' API एंडपॉइंट को कॉल करना या SQL DELETE कथन चलाना शामिल हो सकता है।

अक्सर सफाई @AfterEach या @AfterAll प्रकार की विधि में की जाती है (यह आपके परीक्षण फ़्रेमवर्क पर निर्भर करता है), ताकि परीक्षण पूरे होने के बाद इसका निष्पादन सुनिश्चित हो।

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
  public static void main(String[] args) throws IOException, InterruptedException {
    String userIdToDelete = "testuser"; // Or an ID obtained during creation
    HttpClient client = HttpClient.newHttpClient();
    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://api.example.com/users/" + userIdToDelete))
        .DELETE()
        .build();

    HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println("Delete Status: " + response.statusCode());
  }
}

परीक्षण डेटा प्रश्नोत्तरी

एंड-टू-एंड (E2E) परीक्षणों में परीक्षण डेटा प्रबंधित करने के लिए निम्नलिखित में से कौन-सी अच्छी प्रक्रियाएँ हैं?

पुनरावलोकन: परीक्षण डेटा में दक्षता

आपने सीखा कि प्रभावी परीक्षण डेटा प्रबंधन स्थिर और दोहराए जा सकने वाले E2E परीक्षणों के लिए अत्यंत महत्वपूर्ण है। हमने इन विषयों को शामिल किया:

  • डेटा बनाने की रणनीतियाँ (API, डेटाबेस स्क्रिप्ट और फ़ैक्टरियाँ)।
  • डेटा पृथक्करण और पर्यावरण-विशिष्ट डेटा का महत्व।
  • परीक्षणों के बाद डेटा साफ़ करने की आवश्यकता।

इन रणनीतियों को अपनाकर आप अधिक मजबूत और विश्वसनीय E2E परीक्षण समूह बना सकते हैं!

शुरुआत निःशुल्क

एआई शिक्षक के साथ परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “परीक्षण डेटा प्रबंधन” पाठ निःशुल्क है?

हाँ — परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “परीक्षण डेटा प्रबंधन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“परीक्षण डेटा प्रबंधन” में मैं क्या सीखूँगा?

दोहराए जा सकने वाले E2E परीक्षण सुनिश्चित करने के लिए परीक्षण डेटा बनाने, प्रबंधित करने और साफ़ करने की रणनीतियाँ विकसित कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“परीक्षण डेटा प्रबंधन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. E2E बनाम एकीकरण परीक्षण
  2. E2E परीक्षण उपकरणों का अवलोकन
  3. परीक्षण डेटा प्रबंधन
  4. विश्वसनीय E2E परीक्षण लिखना: अस्थिरता को हराना
← परीक्षण में निपुणता: JUnit, Mockito और एकीकरण परीक्षण पर वापस जाएँ