אַפּי לאָוד טעסטינג מיט לאָקוסט

אַפּי לאָוד טעסטינג מיט לאָקוסט

אַפּי מאַסע טעסטינג מיט לאָקוסט: ינטראָו

איר האָט מיסטאָמע שוין אין דעם סיטואַציע פריער: איר שרייַבן קאָד וואָס טוט עפּעס, אַ ענדפּוינט פֿאַר בייַשפּיל. איר פּרובירן דיין ענדפּוינט ניצן פּאָסטמאַן אָדער ינסאַמניאַ, און אַלץ אַרבעט גוט. איר פאָרן די ענדפּוינט צו דער קליענט-זייַט דעוועלאָפּער, וואָס דעמאָלט קאַנסומז די אַפּי און דיפּלויד די אַפּלאַקיישאַן. אָבער, די API פיילז ווען די יוזערז נוצן די אַפּ.

דאָס קען זיין אַ סופּער אַנויינג סיטואַציע צו זיין אין, ניט צו דערמאָנען טייַער פֿאַר אַ געשעפט. דאָס איז וואָס ווייכווארג דעוועלאָפּערס דורכפירן פאַרשידן טעסץ אויף ווייכווארג סיסטעמען צו ענשור אַז זיי דורכפירן ווי דערוואַרט. APIs זענען נישט אַנדערש. איידער דיפּלוימאַנט, איר זאָל טאָן בייַ מינדסטער פאָרשטעלונג טעסץ און זיכערהייט טעסץ.

פאָרשטעלונג טעסץ קענען זיין גרופּט אין פאַנגקשאַנאַליטי טעסץ און מאַסע טעסץ. פאַנגקשאַנאַליטי טעסץ זענען וואָס איר יוזשאַוואַלי נוצן פּאָסטמאַן אָדער ינסאַמניאַ פֿאַר. זיי ענשור אַז דיין אַפּי פאַנגקשאַנז ווי איר דערוואַרטן. מאַסע טעסץ, אויף די אנדערע האַנט, זענען מער זארגן וועגן ווי דיין אַפּי פּערפאָרמז מיט פאַקטיש-וועלט באַניץ און שפּיץ מאַסע, און דאָס איז וואָס דער אַרטיקל איז וועגן. זאל ס קוק אין מאַסע טעסץ אין מער דעטאַל.

וואָס איז אַפּי לאָוד טעסטינג?

אַפּי מאַסע טעסטינג איז אַ טיפּ פון טעסטינג דעוועלאָפּערס נוצן צו סימולירן נאָרמאַל און שפּיץ מאַסע אויף ענדפּאָינץ. דעם טיפּ פון טעסטינג לעץ דעוועלאָפּערס אָפּשאַצן די פאַקטיש פאָרשטעלונג פון אַן אַפּי איידער עס איז דיפּלויד. דאָס העלפּס זיי צו ידענטיפיצירן די מאַקסימום אַפּערייטינג קאַפּאַציטעט פון אַ סיסטעם, באַטאַלנעקס אויב עס איז, און פאָרשטעלונג דערנידעריקונג. אַפּי מאַסע טעסץ זענען יוזשאַוואַלי דורכגעקאָכט דורך קריייטינג ווירטואַל ניצערס און דערנאָך ניצן זיי צו פּרובירן די פאַנגקשאַנאַליטי פון די API. 

אַפּי מאַסע טעסץ מעסטן מעטריקס ווי ענטפער צייט, קאַנקעראַנט יוזערז, טרופּוט רייץ, מיטל יוטאַלאַזיישאַן לעוועלס, מיטל צייט צווישן דורכפאַל (MTBF), מיטל צייט צו דורכפאַל (מטף), און אַזוי אויף. אַלע די מעטריקס קענען ווערן גענוצט צו באַשליסן ווי גוט די API איז טאן.

טייפּס פון מאַסע טעסטינג

עס זענען עטלעכע טייפּס פון מאַסע טעסטינג, יעדער מיט זייַן נוצן קאַסעס. זאל ס נעמען אַ קוק בייַ עטלעכע פון ​​זיי.

מאַסע טעסטינג: דאָס איז די גרונט פאָרעם פון אַ מאַסע פּרובירן. עס איז געניצט צו אָפּשאַצן די פאָרשטעלונג פון אַ סיסטעם (אין דעם פאַל, אַן אַפּי) אונטער נאָרמאַל מאַסע און דערוואַרט שפּיץ מאַסע.

דרוק טעסטינג: דאָס איז געניצט צו אָפּשאַצן די פאָרשטעלונג פון אַ סיסטעם אונטער אַ זייער שווער מאַסע. דער ציל פון דעם פּראָבע איז צו זען אויב אַ סיסטעם ריקאַווערד נאָך דורכפאַל, און ווי לאַנג עס נעמט צו טאָן דאָס. די מאַסע איז יוזשאַוואַלי סלאָולי ראַמפּעד ביז עס יקסידז די קייפּאַבילאַטיז פון די סיסטעם.

ספּייק טעסט: דאָס איז אַ ביסל ענלעך צו דרוק טעסטינג, אַחוץ שווער מאַסע איז פּלוצלינג געווענדט, ווי קעגן צו סלאָולי ראַמפּינג עס אַרויף. דעם טיפּ פון פּראָבע רעפּראַזענץ וואָס כאַפּאַנז ווען עס איז אַ פּלוצעמדיק נאָגל אין דיין דורכשניטלעך נומער פון יוזערז אָדער וויזאַטערז, אָדער ווען עס איז אַ DDOS באַפאַלן אויף דיין סיסטעם.

סאַק טעסט: דעם פּראָבע איז ניט ענלעך די אנדערע אויבן. עס שטעלט דיין סיסטעם אונטער 80% (אָדער דערוועגן) פון נאָרמאַל מאַסע און לאָזן עס פליסנדיק פֿאַר אַ לאַנג צייַט, זאָגן 12-14 שעה. דעם טיפּ פון פּראָבע דיטערמאַנז ווי פאַרלאָזלעך אַ סיסטעם איז איבער צייַט.

לאָדן טעסטינג דיין אַפּיס מיט לאָקוסט

דעוועלאָפּערס האָבן צוטריט צו אַ פאַרשיידנקייַט פון אָפּציעס פֿאַר מאַסע טעסטינג זייער אַפּיס. עטלעכע פּראָסט מאַסע טעסטינג מכשירים זענען Gatling, JMeter און Locust. מיר וועלן פאָקוס אויף לאָקוס אין דעם אַרטיקל.

לאָקוסט איז אַ פּיטהאָן-באזירט אָפֿן-מקור מאַסע טעסטינג געצייַג געניצט דורך שפּיץ קאָמפּאַניעס אַזאַ ווי Google, מייקראָסאָפֿט און Riot Games צו פּרובירן זייער אַפּיס. אין דעם אַרטיקל, מיר וועלן באַווייַזן ווי צו לאָדן פּרובירן אַן אַפּי. 

פֿאַר דעם טוטאָריאַל, איך וועט מאַכן אַ פּשוט אַפּי מיט פלאַסק. איר קענט נאָכפאָלגן מיט מיר אָדער נאָר מאַכן דיין אַפּי מיט נאָדע, אָדער וועלכער פריימווערק איר זענט באַקוועם מיט.

באדערפענישן

פּיטהאָן קסנומקס

סעטאַפּ & ינסטאַללאַטיאָן

ערשטער, איר דאַרפֿן צו שטעלן אַ ווירטואַל סוויווע אויף דיין פּיסי אַזוי אַז איר טאָן ניט באַלאַגאַן דיין גלאבאלע פּיטהאָן סוויווע. צו טאָן דאָס, לויפן די פאלגענדע קאַמאַנדז. באַמערקונג אַז די קאַמאַנדז אַפּלייז צו אַ Windows וואָקזאַל.

$ mkdir פּרויעקט

$ cd /d דרך \ צו \ פּרויעקט

$ python -m venv venv

$ venv סקריפּטס אַקטאַווייט

 

ערשטער, מיר באשאפן אַ פּרויעקט וועגווייַזער. דערנאָך מיר געביטן אונדזער קראַנט וועגווייַזער צו פּרויעקט. דערנאָך מיר באשאפן און אַקטיווייטיד אַ ווירטואַל סוויווע פֿאַר פּיטהאָן אין דעם וועגווייַזער. 

איצט מיר וועלן פאָרזעצן צו ינסטאַלירן קאָלבע(מיר וועלן נוצן עס צו שאַפֿן די ענדפּאָינץ צו מאַסע טעסטעד) און היישעריק זיך. 

 

צו ינסטאַלירן פלאַסק, לויפן. מאַכט זיכער אַז איר זענט אין די פּרויעקט ווו איר באשאפן אַ ווירטואַל סוויווע.

$ פּיפּ ינסטאַלירן קאָלבע

 

צו ינסטאַלירן לאָקוסט, לויפן

$ פּיפּ ינסטאַלירן היישעריק

 

אַמאָל דאָס איז געטאן, אַרייַן די פאלגענדע קאַמאַנדז. מאַכט זיכער אַז איר זענט אין דיין היים פּרויעקט וועגווייַזער ווען איר טאָן דאָס.

$ קאָפּיע נול __יניט__.פּי

$ mkdir אַפּ

$ קאָפּיע נול אַפּ\app.py

$ קאָפּיע נול אַפּ\__יניט__.פּי

 

די קאַמאַנדז קריייץ עטלעכע טעקעס וואָס מיר וועלן נוצן צו שאַפֿן אונדזער ענדפּאָינץ מיט Flask. איר קענט אויך שאַפֿן די טעקעס מיט דיין טעקע Explorer דורך דעם וועג. אָבער וואָס איז דער שפּאַס אין דעם? אַמאָל איר האָט געטאן דאָס, קאָפּיע די קאָד אונטן app.py

פון די קאָלבע אַרייַנפיר פלאַש, jsonify, בעטן

אַפּ = פלאַש (__ נאָמען __)

מאַשין_מאָדעלס = [

  { 'בראַנד': 'טעסלאַ', 'מאָדעל': 'מאָדעל S'}

]

 

פלאַך_מאָדעלס = [

  {'brand': 'Boeing', 'model': '747'}

]

 

@app.route('/ קאַרס')

דעף באַקומען_קאַרס():

  צוריקקומען jsonify (מאַשין_מאָדעלס)

@app.route('/ פּליינז')

דעפ באַקומען_פּלאַנעס():

  צוריקקומען jsonify (פּלאַנע_מאָדעלס)

אויב __ נאָמען__ == '__ הויפּט__':

    app.run (דעבוג = אמת)  

 

דער אויבן קאָד כּולל אַ אופֿן באַקומען_קאַרס געוויינט צו באַקומען אַ רשימה פון מאַשין בראַנדז און זייער מאָדעלס, און באַקומען_פּלאַנעס געוויינט צו באַקומען אַ רשימה פון פלאַך בראַנדז און זייער מאָדעלס. פֿאַר אונדז צו לאָדן פּרובירן דעם ענדפּוינט, מיר דאַרפֿן צו לויפן app.py. צו טאָן דאָס, לויפן די באַפֿעל אונטן.

$ פּיטהאָן דרך \ צו \ אַפּ.פּי

אַמאָל איר לויפן דעם, איר זאָל זען עפּעס ווי דאָס:

אַפּי מאַסע טעסטינג 1

אויב איר נאָכמאַכן די URL פון די וואָקזאַל און טיפּ קאַז or פּליינז נאָך די /, איר זאָל קענען צו זען די דאַטן דאָרט. אָבער, אונדזער ציל איז צו פּרובירן די ענדפּוינט מיט היישעריק, נישט מיט דעם בלעטערער. אַזוי לאָזן אונדז טאָן דאָס. לויפן די פאלגענדע באַפֿעל אין דער וואָרצל פון דיין פּרויעקט directory.

 

$ קאָפּיע נול locust_test.py

 

דאָס קריייץ אַ 'locust_test.py' טעקע אין דער וואָרצל פון דיין פּרויעקט וועגווייַזער. אַמאָל איר האָט דאָס, עפֿענען די טעקע און פּאַפּ די קאָד אונטן. מיר וועלן דערקלערן עס באַלד.

 

אַרייַנפיר צייט

פֿון היישעריק אַרייַנפיר הטטפּוסער, אַרבעט, צווישן

 

קלאַס באַניצער נאַטור (HttpUser):

    וואַרטן_צייט = צווישן (5, 10)

 

    @אַרבעט

    דעף באַקומען_קאַרס (זיך):

        self.client.get('/cars')

    

    @אַרבעט

    דעף באַקומען_פּלאַנעס (זיך):

        self.client.get('/פּליינז')

 

דאָס איז אַ יקערדיק ביישפּיל פון ניצן לאָקוסט צו לאָדן פּרובירן אַן אַפּי. ערשטער, מיר מאַכן אַ קלאַס באַניצער נאַטור, װעלכע ר מע ן קע ן געגעב ן יעדע ר צוגעפאנגענ ע נאמע ן אבע ר מוז ן פארלענגערן HttpUser. HttpUser איז דער קלאַס וואָס נעמט קעיר פון ינסטאַנטיייטינג קייפל ווירטואַל ניצערס צו דורכפירן די טאַסקס מיר ספּעציפיצירן אין די באַניצער נאַטור קלאַס. 

א אַרבעט איז ספּעסיפיעד דורך דעקערייטינג אַ אופֿן מיט די @אַרבעט דעקערייטער. מיר אויך האָבן אַ פֿונקציע גערופן צווישן () אַז אַלאַוז אונדז צו ספּעציפיצירן אַ קייט פון סעקונדעס צו וואַרטן פֿאַר איידער עקסאַקיוטינג די ווייַטער אַרבעט. איר קענען זען אַז מיר אַסיינד אַ קייט פון 5 צו 10 סעקונדעס פֿאַר דעם אין אונדזער קאָד. 

צו לויפן דעם קאָד, מאַכן זיכער אַז איר זענט נאָך אין דיין ווירטואַל סוויווע. אויב דער וואָס איר האָט באשאפן איז געניצט דורך די סערווער וואָס סערוועס די אַפּי, עפֿענען אַ נייַע וואָקזאַל, טוישן דיין וועגווייַזער צו דיין פּרויעקט וועגווייַזער, און אַקטאַווייט די ווירטואַל סוויווע איר באשאפן. איר קענען געפֿינען די באַפֿעל פֿאַר אַקטאַווייטינג אַ ווירטואַל סוויווע אויבן. איצט, אַרייַן די אונטן באַפֿעל אין דיין וואָקזאַל.

 

$ locust -f locust_test.py

 

איר זאָל זען עפּעס ווי דאָס:

אַפּי מאַסע טעסטינג 2

דורך פעליקייַט, די וועב צובינד פון locust איז ליגן אויף http://localhost/8089. אויב איר באַזוכן דעם וועבזייטל, איר זאָל זען אַ צובינד ווי דאָס:

אַפּי מאַסע טעסטינג 3

פֿון די צובינד, מיר קענען ספּעציפיצירן די נומער פון יוזערז, רויג קורס (ניצערס באשאפן פּער סעקונדע) און האָסט. איר קענען באַקומען די אַדרעס פון דיין באַלעבאָס דורך קאָנטראָלירן די וואָקזאַל ווו די סערווער איז פליסנדיק. אין אונדזער פאַל, עס איז אין פּאָרט 5000. ווען איר גיט אויף אָנהייבן צו שוועמען, איר וועט זיין דערלאנגט מיט די צובינד אונטן.

אַפּי מאַסע טעסטינג 4

דאָס ווייזט איר פאַרשידן נוציק מעטריקס אַזאַ ווי די נומער פון דורכפאַל ריקוועס, דורכשניטלעך צייט פֿאַר אַ בקשה, די מינימום צייט פֿאַר אַ בקשה, ריקוועס פּער סעקונדע, און אַזוי אויף. אַמאָל איר זענט צופֿרידן מיט וואָס איר זען, איר קענען גיט אויף די האַלטן קנעפּל. 


חוץ דעם סטאַטיסטיק קוויטל, עס איז אַ טשאַרץ קוויטל וואָס ווייַזן מער ינפאָרמאַציע אין די פאָרעם פון אַ גראַפיק, ווי די בילד אונטן.

עס איז אַ גאַנץ ריקוועס פּער סעקונדע גראַפיק, ענטפער צייט גראַפיק, און נומער פון ניצערס גראַפיק, אַלע פּלאַנעווען קעגן צייַט. מיט די גראַפס, איר קענען באַשליסן ווי פילע יוזערז זענען פּאַסיק פֿאַר אַ פאַרפעסטיקט ענטפער צייט, אָדער איר קענען אָבסערווירן דיין טשאַרץ פֿאַר אַ קעסיידערדיק ענטפער צייט טראָץ אַ ינקריסינג נומער פון יוזערז און אנדערע ינסייץ ווי דאָס. אויב איר ווילן צו טיילן די סטאַץ מיט עמעצער אַנדערש, איר קענען אראפקאפיע אַ באַריכט פֿון די אראפקאפיע דאַטן קוויטל.

צו ענדיגן...

מאַסע טעסטינג דיין אַפּי איז אַ קריטיש טעטיקייט אין דיין אַנטוויקלונג פּראָצעס, אַזוי מאַכן זיכער אַז עס איז ינקאָרפּערייטיד אין דיין פּלאַן ציקל. דורך דעם וועג, איר קענען אויך דורכפירן אנדערע מאַסע פּרובירן טייפּס דורך וועריינג די וואַלועס פֿאַר די נומער פון יוזערז און רויג קורס. 

אויב איר ווילן צו טאָן אַ ספּייק פּרובירן, ספּעציפיצירן אַ גרויס ווערט (זאָגן 2000) פֿאַר די נומער פון יוזערז, און אַ גלייַך גרויס ווערט פֿאַר דיין רויג קורס (למשל, 500). דעם מיטל אַז אין 4 סעקונדעס איר וואָלט האָבן אַלע 2000 יוזערז באשאפן און אַקסעס דיין ענדפּאָינץ. א דרוק פּרובירן וועט זיין ענלעך, אָבער מיט אַ פיל נידעריקער ווערט פֿאַר רויג קורס. צו געפֿינען אַלע איר קענען טאָן, טשעק אויס די לאָקוסט דאַקיומענטיישאַן

בייפּאַסינג TOR צענזור

בייפּאַסינג אינטערנעט צענזור מיט TOR

בייפּאַסינג אינטערנעט צענזור מיט TOR הקדמה אין אַ וועלט ווו אַקסעס צו אינפֿאָרמאַציע איז ינקריסינגלי רעגיאַלייטאַד, מכשירים ווי די טאָר נעץ האָבן ווערן קריטיש פֿאַר

לייענען מער »
קאָבאָלד בריוו: HTML-באזירט עמאַיל פישינג אַטאַקס

קאָבאָלד בריוו: HTML-באזירט עמאַיל פישינג אַטאַקס

קאָבאָלד בריוו: HTML-באזירט עמאַיל פישינג אַטאַקס אויף 31 מערץ 2024, לוטאַ סעקוריטי באפרייט אַן אַרטיקל אָפּדאַך ליכט אויף אַ נייַ סאַפיסטאַקייטיד פישינג וועקטאָר, קאָבאָלד בריוו.

לייענען מער »