Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Testowanie swoich aplikacji, pod względem bezpieczeństwa i wydajności
IceManSpy
post 14.08.2010, 22:39:01
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ł 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


--------------------
Go to the top of the page
+Quote Post
Zyx
post 15.08.2010, 09:14:42
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 smile.gif.

Ad. 2 -> tak, jest. Są to tak zwane testy funkcjonalne. Można je przeprowadzać automatyczne przy pomocy kombinacji systemów PHPUnit + Selenium.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
IceManSpy
post 15.08.2010, 09:54:11
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?


--------------------
Go to the top of the page
+Quote Post
Grand93
post 15.08.2010, 15:37:55
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.
Go to the top of the page
+Quote Post
Luneth
post 15.08.2010, 17:13:35
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? winksmiley.jpg

  1. $start = microtime(true);
  2.  
  3. // cały kod php któy testujesz
  4.  
  5. $end = microtime(true);
  6.  
  7. //wyświetlenie różnicy w mikrosekundach
  8.  
  9. echo $end-$start;



--------------------
"It's always darkest before the dawn."
Go to the top of the page
+Quote Post
Grand93
post 15.08.2010, 18:21:06
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 smile.gif

Twój sposób( Luneth ) jest prostszy i szybszy.
Go to the top of the page
+Quote Post
IceManSpy
post 15.08.2010, 19:27:34
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?


--------------------
Go to the top of the page
+Quote Post
Crozin
post 15.08.2010, 19:38:54
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:
  1. $a = microtime(true);
  2. $b = microtime(erue);
  3.  
  4. echo $b - $a;
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.
Go to the top of the page
+Quote Post
Grand93
post 16.08.2010, 13:46:08
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/
Go to the top of the page
+Quote Post
piotr94
post 17.08.2010, 12:49:49
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


--------------------
http://www.piotr94.net21.pl/ - wykonanie stron i serwisów internetowych
Jeśli moje wypowiedzi były dla Ciebie pomocne, kliknij "Pomógł" i odwdzięcz się ;)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.07.2025 - 12:39