![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tak jak w temacie. Jak testować napisaną aplikację w PHP + z jakąś bazą w MySQL. Głównie mi chodzi o mierzenie wydajności (a jeśli się da też w jakiś sposób bezpieczeństwo, to też bezpieczeństwo). Czy robić to na localhostcie czy już na serwerze? (pewno na serwerze, gdzie skrypt będzie siedział (IMG:style_emoticons/default/tongue.gif) ).
I czy jest możliwość testowania aplikacji tak, aby przechodziła krok po kroku np proces rejestracji? Ten post edytował IceManSpy 14.08.2010, 22:42:03 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz zmierzyć wydajność samej aplikacji do celów porównawczych, wystarczy Ci domowy komputer, bylebyś miał testowany w identycznych warunkach jakiś skrypt będący punktem odniesienia. Na serwerze też oczywiście można, choć tu trzeba uważać na ograniczenia hostingu (IMG:style_emoticons/default/smile.gif) .
Ad. 2 -> tak, jest. Są to tak zwane testy funkcjonalne. Można je przeprowadzać automatyczne przy pomocy kombinacji systemów PHPUnit + Selenium. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A w jaki sposób testować wydajność? Może jakiś przykład?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 1 Dołączył: 2.08.2010 Skąd: Dębica Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chcesz zmierzyć tylko czas wykonywania skryptu, to zrób sobie klasę:
class Test{ private $time; public function __construct(){ $this -> time = microtime(); } public function __destruct(){ echo 'skrypt wykonany w ciągu '.(microtime()-$this -> time).' ms'; } } $test = new Test(); daj ją na początku skryptu. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Grand93 - powinno być tam chyba microtime(true) inaczej mu wywali string z sekundami i mikrosekundami jako ułamek dziesiętny, ale osobno po spacji. Swoją droga warto z czegoś tak prostego robić klasę i obiekt? (IMG:style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 1 Dołączył: 2.08.2010 Skąd: Dębica Ostrzeżenie: (0%) ![]() ![]() |
Jak zrobi na klasie to nie będzie musiał pamiętać o daniu echo na koniec (IMG:style_emoticons/default/smile.gif)
Twój sposób( Luneth ) jest prostszy i szybszy. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tak właśnie robiłem, np dla zapytań MySQl , ale czasem zdarzały mi się wartości ujemne tego odejmowania. Ale może dlatego, że dawałem microtime bez true?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Musiałbyś mieć naprawdę baaaardzo mocny sprzęt by uzyskać 0 w wyniku odejmowania wartości zwróconych przez dwa wywołania tej funkcji:
Wynik ujemny jest niemożliwy. I tak... powodem było brak owego TRUE. Do testowania wydajności aplikacji dużo lepiej jest wybrać narzędzia typu Apache Benchmark, które pozwalają na dużo bardziej realne odwzorowanie obciążenia. Jakiś automatycznych/magicznych testów bezpieczeństwa nie ma, z tego co mi wiadomo - tutaj musisz zadbać sam. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 1 Dołączył: 2.08.2010 Skąd: Dębica Ostrzeżenie: (0%) ![]() ![]() |
Jest możliwość testowania bezpieczeństwa pod względem ataków XSS.
Było o tym ostatnio na niebezpieczniku : http://niebezpiecznik.pl/post/xsser-sprawd...podatna-na-xss/ |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 331 Pomógł: 30 Dołączył: 11.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
w testowaniu pod względem ataków pomoże nieco:
http://www.uw-team.org/videoarty_security.html niektóre porady są banalne, ale niektóre wiele mi pomogły |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 16:45 |