შესრულების ტესტის გეგმის შაბლონი

შესრულების ტესტის გეგმის შაბლონი, რომელიც შეიძლება გამოყენებულ იქნეს როგორც არის ან შეცვლილია თქვენი პროექტის საჭიროებების შესაბამისად, შესრულების მოთხოვნების შესაბამისად.



1. მიზანი

ამ მონაკვეთის მიზანია წარმოადგინოს მაღალი დონის მიმოხილვა შესრულების ტესტირების მიდგომის შესახებ, რომელიც უნდა დაიცვას პროექტი ეს უნდა წარედგინოს ყველა შესაბამის დაინტერესებულ მხარეს და განხილული უნდა იქნეს კონსენსუსის მისაღწევად.



2. შესავალი

როგორც მიწოდების ნაწილი, საჭიროა, რომ გამოსავალი პასუხობდეს მიღების კრიტერიუმებს, როგორც ფუნქციონალური, ისე არაფუნქციური სფეროების თვალსაზრისით. ამ დოკუმენტის მიზანია წარმოადგინოს | არაფუნქციური ტესტირების მონახაზი გამოსავალი


ეს დოკუმენტი მოიცავს შემდეგს:

  • შემოსვლისა და გასვლის კრიტერიუმები
  • ეკოლოგიური მოთხოვნები
  • მოცულობისა და შესრულების ტესტირების მიდგომა
  • შესრულების ტესტირების აქტივობები


3. შესვლის კრიტერიუმები

წინასწარ უნდა დასრულდეს / შეთანხმდეს შემდეგი სამუშაო პუნქტები, რათა გაგრძელდეს რეალური შესრულების ტესტირების აქტივობები:


  • არაფუნქციური ტესტის მოთხოვნების დოკუმენტი, რომელიც მოწოდებულია მიერ, რაოდენობრივად განსაზღვრული NFR– ით, სადაც ეს შესაძლებელია
  • კრიტიკული გამოყენების შემთხვევები უნდა იყოს ფუნქციურად შემოწმებული და კრიტიკული შეცდომების გარეშე
  • დიზაინის არქიტექტურული დიაგრამები დამტკიცებულია და ხელმისაწვდომია
  • ძირითადი გამოყენების შემთხვევები განისაზღვრა და განიხილეს
  • შესრულების ტესტის ტიპები შეთანხმებულია
  • ინჟექტორების დაყენება
  • საჭიროა მონაცემთა ნებისმიერი დაყენება - მაგ. | _ შექმნილია შესაბამისი მომხმარებლების რაოდენობა |


4. გასვლის კრიტერიუმები

შესრულების ტესტირების აქტივობა დასრულდება, როდესაც:

  • NFR– ის მიზნები შესრულებულია და გუნდის წინაშე წარდგენილია შესრულების ტესტის შედეგები და დამტკიცებულია.


5. ეკოლოგიური მოთხოვნები

შესრულების ტესტები ჩატარდება სტაბილური ვერსიის წინააღმდეგ გამოსავალი (რომელმაც უკვე ჩააბარა ფუნქციონალური ტესტები) და შესრულდა სპეციალურ წარმოების მსგავს გარემოში (წინასწარი პროდიუსერი?), რომელიც ენიჭება შესრულების ტესტირებისთვის, ამ გარემოზე განლაგების გარეშე, შესრულების ტესტირების განმავლობაში.

5.1 დატვირთვის ინჟექტორები

შეიქმნება ერთი ან მეტი გამოყოფილი 'დატვირთვის ინჟექტორი', რომელიც შესრულდება ტესტირებისთვის საჭირო დატვირთვის დასაწყებად. დატვირთვის ინჟექტორი შეიძლება იყოს VM ან მრავალი VM, რომელსაც აქვს JMeter- ის გაშვების ინსტანცია, მოთხოვნების ინიცირება.

5.2 ტესტი ინსტრუმენტები

მოცულობისა და შესრულების ტესტირებისთვის გამოყენებული სატესტო საშუალებები იქნება:


5.2.1 JMeter

დატვირთვის ტესტირების ღია წყარო. უპირატესად გამოიყენება მოცულობისა და შესრულების ტესტირებისთვის.

5.2.2 Splunk

Splunk გამოყენებული იქნება შესასვლელად (შეიძლება გამოყენებულ იქნას სხვა ინსტრუმენტი - საჭიროა დადასტურება სრულყოფილ ჯგუფთან).



6. მოცულობისა და შესრულების ტესტირების მიდგომა

| | + _ | გამოსავალი უნდა იყოს საკმარისად შესრულებული დატვირთვის შემდეგი კრიტერიუმების სამართავად.

ნ.ბ. შემდეგ ცხრილში მოცემული ციფრები განკუთვნილია მხოლოდ ნიმუშისთვის - რეალური მნიშვნელობები უნდა ჩასვათ, როდესაც დასრულებული იქნება NFR დოკუმენტი.


6.1 სამიზნე მომსახურების მოცულობები

საათობრივი სამიზნეები აღმოჩენილია [Y2019] - ის ამჟამინდელი გადაწყვეტილებიდან. გეგმის შაბლონიდან გაიწმინდა სხვა 'მაგალითის' მნიშვნელობები.

მას შემდეგ, რაც საათში პიკის მნიშვნელობები არ არის მაღალი, ისინი მიიღება ფიქსირებული დატვირთვის ტესტის მიზნად. მასშტაბის ფაქტორი ახლა არის TBD.

6.2 მომხმარებელთა რაოდენობა

შესრულების ტესტი დაიწყება მაქსიმუმ 1000 [?] მომხმარებელი. მომხმარებლები შეიქმნება წინასწარ და ხელმისაწვდომი უნდა იყოს შესვლის API. თითოეული მოთხოვნა შევა სხვადასხვა მომხმარებლის ID– ით.

6.3 მტკიცებები

JMeter ინსტრუმენტი გამოყენებული იქნება შესრულების ტესტირების სკრიპტების შესასრულებლად. სკრიპტების ფარგლებში გაკეთებული იქნება მტკიცებები ზემოთ მოცემული მეტრიკის შესამოწმებლად, ასევე ძირითადი ფუნქციური შემოწმებები, რათა უზრუნველყოს სწორი პასუხების მიღება თითოეულ მოთხოვნაზე.


6.4 დატვირთვის პროფილები

დატვირთვის პროფილები უნდა იყოს შემუშავებული, რომ მიბაძოს ტიპიური საშუალო დღის მოძრაობას | _ + + | | საიტი გთხოვთ გაითვალისწინოთ, რომ ტრაფიკი მხოლოდ განაწილებულია და შემოიფარგლება მომხმარებლის იდენტურობის და საიტის წვდომის მენეჯმენტის ნაწილში, ე.ი.

  • Შესვლა
  • დარეგისტრირება
  • პაროლის გადაყენება
  • Პაროლი დაგავიწყდათ
  • დააყენეთ მომხმარებელი
  • მიიღეთ მომხმარებელი

ქვემოთ მოცემულია ერთი დღის პროფილის მაგალითი:

6.4.1 საბაზისო ხაზის დალაგება

მოქმედების პირველი კურსი არის საბაზისო ხაზის პოვნა. მხოლოდ 1 მომხმარებლის გამოყენებით, ჩვენ გავატარებთ სიმულაციას გარკვეული პერიოდის განმავლობაში (მაგალითად, 5 წთ), რომ მივიღოთ საშუალო პასუხი დროის თითოეული საბოლოო წერტილისთვის. ეს უზრუნველყოფს იმას, რომ მხოლოდ 1 მომხმარებელი შეძლებს წამში პიკური მოთხოვნების მიღწევას.


6.4.2 დატვირთვის ტესტირება

საბაზისო მაჩვენებლების შეგროვების შემდეგ, იგივე სიმულაცია, რომელიც ახდენს დატვირთვის პროფილის სიმულაციას, აწარმოებს მომხმარებელთა გაზრდილი რაოდენობით, სამიზნე მოცულობების შესამოწმებლად. ამ დატვირთვის ტესტის იდეა არის სისტემის ტესტირება ტიპიური დღის დატვირთვის შესაბამისად, პანდუსის, დღის მწვერვალებისა და ჩამოსხმის სიმულაცია.

6.4.3 სტრესის ტესტირება

სტრესის ტესტირების მიზანია სისტემის გარღვევის წერტილის პოვნა, ანუ რა ეტაპზე ხდება სისტემა უპასუხოდ. ავტომატური მასშტაბის არსებობის შემთხვევაში, სტრესის ტესტი კარგი მაჩვენებელი იქნება, რომელზედაც სისტემის მასშტაბები და ახალი რესურსები დაემატება. სტრესის ტესტირებისთვის გამოიყენება იგივე სიმულაცია, რომელიც გამოიყენება დატვირთვის ტესტირებისთვის, მაგრამ მოსალოდნელ დატვირთვაზე მეტია.

6.4.4 სპაიკის ტესტირება

სპაიკის ტესტირება სისტემაში მნიშვნელოვან დატვირთვას ახდენს შედარებით მოკლე დროში. ამ ტესტის მიზანია გაყიდვების ღონისძიების სიმულაცია, მაგალითად, როდესაც მომხმარებელთა დიდი რაოდენობა ერთდროულად შედის თავის ანგარიშზე შედარებით მოკლე დროში.

6.4.5 გაჟღენთილი ტესტირება

გაჟღენთილი ტესტირება ჩატარდება დატვირთვის ტესტი ხანგრძლივი დროის განმავლობაში. გაჟღენთილი ტესტის დროს მეხსიერების გაჟონვის, რეაგირების ან შეცდომების გამოვლენაა. ჩვენ ჩვეულებრივ გამოვიყენებთ დატვირთვის 80% -ს (გამოიყენება დატვირთვის ტესტირებისთვის) 24 საათის განმავლობაში და / ან დატვირთვის 60% 48 საათის განმავლობაში.

6.4.6 ინტენსივობის წერტილის ტესტირება

ინტენსივობის წერტილის ტესტირებისას ჩვენ მუდმივად ვზრდით დატვირთვას, რათა განვსაზღვროთ, თუ რომელ წერტილში ხდება სისტემა რეაგირების გარეშე, ანუ სისტემის გარღვევის წერტილის პოვნა დატვირთვის თვალსაზრისით.



7. შესრულების ტესტირების აქტივობები

შესრულების ტესტირების დასრულების მიზნით, შემოთავაზებულია შემდეგი აქტივობები:

7.1 შესრულების ტესტი გარემოს შექმნა

  • დატვირთვის ინჟექტორებს უნდა ჰქონდეთ საკმარისი სიმძლავრე და დისტანციურად უნდა მართონ ისინი. ასევე, ინჟექტორების ადგილმდებარეობა უნდა შეთანხმდეს
  • რეალურ დროში უნდა იყოს მონიტორინგისა და გაფრთხილების მექანიზმი და უნდა მოიცავდეს პროგრამას, სერვერებს და დატვირთვის ინჟექტორებს.
  • აპლიკაციის ჟურნალები ხელმისაწვდომი უნდა იყოს.

7.2 გამოყენებული საქმის სცენარი

  • შესრულების ტესტირების ინსტრუმენტი, რომელიც გამოყენებული იქნება, არის JMeter
  • განხილულია მონაცემთა ნებისმიერი მოთხოვნა სცენარის გამოყენების შემთხვევებისთვის

7.3 ტესტის სცენარის აგება

  • შესასრულებელი ტესტის ტიპი (ჩატვირთვა / სტრესი და ა.შ.)
  • დატვირთვის პროფილი / დატვირთვის მოდელი უნდა შეთანხმდეს ტესტის თითოეული ტიპისთვის (ჩასასვლელი ზემოთ / ქვევით, ნაბიჯები და ა.შ.)
  • ჩართეთ აზროვნების დრო სცენარებში

7.4 ტესტის შესრულება და ანალიზი

შემდეგი ტესტები უნდა შესრულდეს შემდეგი თანმიმდევრობით:

  • საბაზისო ტესტი
  • დატვირთვის ტესტი
  • სტრესის ტესტი
  • სპაიკის ტესტი
  • Soak ტესტი
  • ინტენსივობის წერტილის ტესტი

იდეალურ შემთხვევაში, შესრულდება თითოეული ტესტი ტიპის 2 ტესტი. ყოველი საცდელი გაშვების შემდეგ, აპლიკაცია შეიძლება დაზუსტდეს, რათა გაიზარდოს მისი შესრულება და შემდეგ დაიწყება სხვა ტესტის ციკლი.

7.5 ტესტის შემდგომი ანალიზი და ანგარიშგება

  • მონაცემების ყველა შესაბამისი ანგარიშის აღება და სარეზერვო ასლის შექმნა.
  • განსაზღვრეთ წარმატება ან წარუმატებლობა ტესტის შედეგების შესრულების მიზნებთან შედარების გზით. თუ სამიზნეები არ შესრულდა, უნდა განხორციელდეს შესაბამისი ცვლილებები და შემდეგ დაიწყება ტესტის შესრულების კიდევ ერთი ციკლი. უცნობია, რამდენი შესრულების ციკლი იქნება საჭირო შეთანხმებული მიზნების მისაღწევად.
  • დოკუმენტურად და წარუდგინეთ გუნდს ტესტის შედეგები.

რედაქტორის არჩევანი

საინტერესო სტატიები