24.
მობილური აპლიკაციის ტესტირება
==== მობილური ტესტირება ======== Play store / App store გაიდლაინები I SLICED UP FUN მნემონიკა BrowserStack გამოყენება ==== საჭიროა ვიცოდეთ ==== - Android Studio - ADB - XCode ==== მობილური აპლიკაციის ტესტირება ==== - არსებობს ნატივ-აპლიკაციები, რომლებიც უშუალოდ მობილური ტელეფონის ოპერაციულ სისტემაზეა მორგებული და ჩვეულებრივი აპლიკაციები, რომლებიც მობილურის ბრაუზერში იხსნება, არსებობს ასევე ჰიბრიდული აპლიკაციები. - მობილურ აპლიკაციას აქვს ეკრანის პორტრეტული და ალბომური ორიენტაცია. - ტესტირება ჯობია ჩატარდეს რეალურ მოწყობილობაზე და არა სიმულატორზე ==== მობილური აპლიკაციის ტესტირებისას მთავარი საკითხები ==== 1. ფუნქციონალური ტესტირება 2. უსაბილიტი/მოხერხებულობაზე ტესტირება 3. თავსებადობაზე ტესტირება 4. უსაფრთხოებაზე ტესტირება 5. წარმადობაზე ტესტირება 6. მონაცემთა ბაზის ტესტირება 7. გრაფიკული ინტერფეისის ტესტირება ==== სხვა საკითხები ==== 1. სტრესს-ტესტირება 2. ინსტალაციაზე ტესტირება 3. კროს-პლატფორმულობაზე ტესტირება 4. განახლებადობაზე/აღდგენაზე ტესტირება 5. ლოკალიზაცია/გლობალიზაციაზე ტესტირება ==== ფუნქციონალური ტესტირება ==== - ტესტირების მიზანია ფუნქციონალის გამართულობისა და მასზე წაყენებულ მოთხოვნებთან შესაბამისობის გატესტვა. - ტესტირება იყენებს გამოსავალ მონაცემებს(შედეგებს), რომელიც მიიღება მომხმარებლის ქმედების პასუხად. -- სავალდებულო ველების ვალიდაციის გატესტვა, ფიფქის ნიშნის არსებობა ასეთ ველებში -- შეუვსებელი სავალდებულო ველების შემთხვევაში შეცდომის ფანჯარა უნდა ამოვარდეს, არასავალდებულოს შემთხვევაში კი არა. -- რიცხვით ველებში მხოლოდ რიცხვები უნდა ჩაიწეროს, ან შეცდომა ამოვარდეს არარიცხვების შემთხვევაში. -- ველების შემოწმება უარყოფით რიცხვებზე, ნულზე და ძალიან დიდ რიცხვებზე. -- ნულზე გაყოფა არ უნდა იწვევდეს პრობლემებს. -- ველების სიგანე საკმარისი უნდა იყოს შეტანილი მონაცემებისათვის -- შეცდომის პოპ-უპ ფანჯრის ტესტირება გამართულად ფუნქციონირებაზე -- დასადასტურებელი პოპ-უპ ფანჯრის ფუნქციონირების ტესტირება განახლების, წაშლისა და სხვა ოპერაციებისას. -- ღირებულების მნიშვნელობის შემოწმება დეფაულტ მნიშვნელობაზე(ფასი, ვალუტა). -- ველების ტესტირება სპეცსიმბოლოებზე -- დროის გასვლის(ამოწურვის) ფუნქციონალის შემოწმება -- სორტირების(დალაგების) ფუნქციონალის შემოწმება -- ღილაკების ფუნქციონალის შემოწმება -- გამოყენების პირობების, წესებისა და ხშირად დასმული კითხვების გამართულობის შემოწმება -- შეცდომის გვერდზე გადამისამართების ტესტირება -- ატვირთული დოკუმენტების სწორად გახსნაზე და გადმოტვირთვაზე ტესტირება -- ემაილთან დაკავშირებული ფუნქციონალის გატესტვა -- ჯავასკრიპტის მუშაობა სხვადასხვა ბრაუზერზე(IE, Firefox, Chrome, Safari, Opera). -- ქუქების წაშლისას სისტემის მოქმედების გადამოწმება(საიტის მუშაობაზე და მომხმარებლის მონაცემებზე) -- ჩამოსაშლელ სიებში მონაცემთა სწორი განლაგების შემოწმება ==== უსაბილიტი/მოხერხებულობაზე ტესტირება ==== - ტესტირების მიზანია სამომხმარებლო ინტერფეისის მეგობრულობისა და მოხერხებულობის დადგენა. - ტესტირებისას ასევე მოწმდება ინტერფეისის ათვისების სიადვილე ახალი მომხმარებლის მიერ, სისტემური ნავიგაცია და ვიზუალურად ინტუიციური აღქმადობა. -- ვებ-გვერდისა პოპ-უპ ფანჯრების კონტენტის შემოწმება მართლწერაზე და გრამატიკულ შეცდომებზე. -- კონტენტისა და პოპ-უპ ფანჯრების ტექსტების გასწორებასა და დაშორებებზე შემოწმება -- შეტყობინებები შეცდომებზე უნდა იყოს გამართული გრამატიკულადაც და ორთოგრაფიულადაც, ასევე უნდა შეესაბამებოდეს ფანჯრის სათაურს -- მოკარნახე ტექსტი უნდა ქონდეს ყველა ველს -- ველები უნდა იყოს ზომებში გასწორებული -- საკმარისი დაშორებები უნდა იყოს ველებს, შეტყობინებებს, სვეტებსა თუ სტრიქონებს შორის -- ყველა კნოპკას სტანდარტული ფორმა და ზომა უნდა ქონდეს -- საწყისი გვერდის ლინკი უნდა იყოს საიტის ყველა გვერდზე -- უმოქმედო(არააქტიური) ველები ნაცრისფრად უნდა იყოს -- საიტზე არ უნდა იყოს უმოქმედო ლინკები და ცარიელი სურათები -- წაშლისა და განახლების ოპერაციებს აუცილებლად უნდა მოყვეს დამადასტურებელი შეტყობინება(პოპ-უპ ფანჯარა) -- საიტის შემოწმება ეკრანის სხვადასხვა ზომებზე -- აპლიკაციის მუშაობის შემოწმება გაჭედვების გარეშე -- TAB-ების მუშაობის შემოწმება -- სკროლინგი მხოლოდ მაშინ უნდა გამოჩნდეს, როცა საჭიროა -- თუ ფორმის გაგზავნისას ვარდება შეტყობინება შეცდომაზე, მაშინ შეცდომაში უნდა იყოს მომხმარებლისთვის განკუთვნილი ინფორმაცია. -- სათაური(header) უნდა ჩანდეს ყველა გვერდზე -- ველები და კნოპკები ხელმისაწვდომი უნდა იყოს კლავიატურიდანაც და უნდა შეიძლებოდეს მართვა მხოლოდ კლავიატურის დახმარებით -- შემოწმება ჩამოსაშლელ სიებში მონაცემები ხომ არ იჭრება ველების ზომების გამო. ==== თავსებადობაზე ტესტირება ==== - ტესტირების მიზანია აპლიკაციის თავსებადობის შეფასება ოპერაციულ სისტემასთან, ბრაუზერებთან და სხვა მოწყობილობებთან. -- საიტის ვიზუალის გატესტვა სხვადასხვა ბრაუზერში(IE, Firefox, Chrome, Safari, Opera) -- HTML-ს თავსებადობის შემოწმება ბრაუზერის შესაფერის ვერსიებთან -- სურათების კორექტული გამოსახვა სხვადასხვა ბრაუზერში -- შრიფტის კორექტული გამოსახვა სხვადასხვა ბრაუზერში -- ჯავასკრიპტის მუშაობის შემოწმება სხვადასხვა ბრაუზერში -- GIF ანიმაციების შემოწმება სხვადასხვა ბრაუზერში -- ბანერების შემოწმება ==== უსაფრთხოებაზე ტესტირება ==== - ტესტირების მიზანია უსაფრთხოებაში ხარვეზების დაფიქსირება. -- გვერდები, რომლებიც შეიცავენ მნიშვნელოვან ინფორმაციას(პაროლები, საკრედიტო კარტები, ფარული და პირადი ინფორმაცია), უნდა იხსნებოდეს HTTPS(SSL)-თი. -- ვერიფიკაციების ტესტირება -- ფარული ინფორმაცია(პაროლები, საკრედიტო ნომრები) უნდა გამოჩნდეს დაშიფრული სახით -- რეგისტრაციის, ავტორიზაციის, პაროლის შეცვლისა და პაროლის აღდგენის ფუნქციების შემოწმება. -- ძველი, შეცვლილი პაროლით საიტზე შესვლის დაბლოკვის გატესტვა -- Убедитесь, что если пользователь вышел из системы или сессия завершена, он не может пользоваться сайтом. -- ავტორიზაციის გარეშე საიტის ღია და დახურულ გვერდებთან წვდომის გატესტვა -- საიტის კოდის ნახვის ფუნქციის შერმოწმება გამორთულია თუ არა -- პაროლის რამოდენიმეჯერ არასწორად შეყვანისას მომხმარებლის ანგარიშის დაბლოკვის შემოწმება -- პაროლი არ უნდა ინახებოდეს კუკებში -- თუ რომელიმე ფუნქცია არ მუშაობს, მაშინ სისტემა უნდა აგდებდეს შეტყობინებას შეცდომაზე და არ უნდა აჩვენებდეს აპლიკაციაზე, სერვერზე ან ბაზაზე ინფორმაციას. -- საიტის შემოწმება SQL ინექციაზე -- საიტის მომხმარებელთა სტატუსების გამართული მუშაობა და უსაფრთხოება(ადმინი, მოდერი, უსერი და ა.შ.) -- მნიშვნელოვანი ოპერაციები უნდა ინახებოდეს ლოგში(ისტორიაში) და შესაძლებელი უნდა იყოს გადახედვა -- მისამართის ხაზში სესიის მნიშვნელობა უნდა გამოისახებოდეს დაშიფრული სახით -- აპლიკაციის კუკები უნდა ინახებოდეს დაშიფრული სახით -- აპლიკაციის შემოწმება brute force(брутфорс)-შეტევაზე ==== წარმადობაზე ტესტირება ==== - ტესტირების მიზანია წარმადობის სტანდარტებთან შესაბამისობის დადგენა. უნდა განისაზღვროს მწარმოებლურობის, სტაბილურობისა და მასშტაბირების ხარისხი სხვადასხვა დატვირთვაზე, მათ შორის პიკურზე. ასევე უნდა დადგინდეს საუკეთესო წარმადობის მქონე კონფიგურაცია. წარმადობის ტესტირების ინსტრუმენტები: - Apache JMeter - Load Runner - Borland Silk Performer. - Rational Performance Tester - WAPT - NEO LOAD ==== მონაცემთა ბაზის ტესტირება ==== - ტესტირებისას მოწმდება აპლიკაციის საშუალებით შეყვანილი ბექენდ-ჩანაწერები. მონაცემები, რომელიც ჩანს აპლიკაციაში, უნდა ემთხვეოდეს მონაცემებს, რომლებიც ჩაწერილია მონაცემთა ბაზაში. - ტესტერს უნდა ესმოდეს ფუნქციონალური მოთხოვნები, ბიზნეს-ლოგიკა, მონაცემთა ბაზები და აპლიკაციის ძირითადი ოპერაციები. - ტესტერი უნდა ერკვეოდეს ცხრილებში, ტრიგერებში, შენახვის პროცედურებში, აპლიკაციაში გამოყენებულ გამოსახულებებში და მიმთითებლებში. -- მონაცემთა ბაზის სახელების შემოწმება, ემთხვევა თუ არა სპეციფიკაციებს -- ცხრილების, სვეტების, სვეტის ტიპებისა და მნიშვნელობების დეფაულტების შემოწმება ემთხვევა თუ არა სპეციფიკაციებს. -- შემოწმება გვაძლევს თუ არა სვეტი ნულოვან მნიშვნელობას -- ყოველ ცხრილში პირველადი და გარე გასაღების შემოწმება -- შენახვის პროცედურის შემოწმება -- შემოწმება არის თუ არა დაყენებული შენახვის პროცედურა -- შენახვის პოროცედურების დასახელების შემოწმება -- პარამეტრების დასახელების, ტიპის და რაოდენობის შემოწმება -- შემოწმება არის თუ არა სავალდებულო პარამეტრები -- რამოდენიმე პარამეტრის წაშლით შენახვის პროცედურის შემოწმება -- მონაცემთა შემოწმება, როცა გამოსასვლელში ნულია, ჩანაწერი ნულით უნდა ექვემდებარებოდეს ზემოქმედებას -- შენახვის პროცედურის შემოწმება უბრალო SQL მოთხოვნებით -- დარწმუნება, რომ პროცედურა(ფუნქცია) აბრუნებს მნიშვნელობას -- ცხრილებში ყოველი ალმის(flag) ქცევის შემოწმება -- ბაზაში მონაცემთა სწორად შენახვაზე შემოწმება -- მონაცემების შემოწმება ყოველი განახლების, წაშლისა და ჩასმის დროს. -- ველების სიგრძე ფრონტენდზე და ბექენდზე უნდა ემთხვეოდეს ერთმანეთს -- მონაცემთა ბაზებში სახელების შემოწმება უნიკალურობაზე -- ბაზაში დაშიფრული მონაცემების შემოწმება -- ბაზის ზომისა და საპასუხო რეაქციის შემოწმება -- მონაცემები, რომლებიც გამოსახულია ფრონტზე, უნდა ემთხვეოდეს ბექენდის მონაცემებს -- ბაზაში არავალიდური მნიშვნელობების შეყვანისას მონაცემთა მთლიანობის შემოწმება -- ტრიგერების შემოწმება ==== Android Studio ==== ==== BrowserStack ====