Bir site titizlikle sınamak nasıl?

8 Cevap php

Geçenlerde büyük bir portal sitesi oluşturdu. Bu test etmek koyarak zamanı.

How do you guys test a site rigorously?
What are the ways and tools for that?
Can we sort of mimic hundreds of virtual users visiting the site to see its load handling?

Test güvenlik ve hızı hem de olmalıdır

Şimdiden teşekkürler.

8 Cevap

Bu sadece bir Stres Testi olması gerekiyordu ise, http://freshmeat.net/projects/siege/ deneyin

Kuşatma bir regresyon test ve benchmark programı. Bu taklit kullanıcıları bir kullanıcı tanımlı sayı ile tek bir URL stres testi, ya da belleğe çok URL'leri okumak ve aynı anda onları stres olabilir. Program, kaydedilen hit sayısını bildiriyor transfer bayt, tepki süresi, eşzamanlılık ve dönüş durumu. Kuşatma HTTP/1.0 ve 1.1 protokollerini destekler, GET ve POST direktifleri, kurabiye, işlem günlüğü, ve temel kimlik doğrulama. Onun özellikleri kullanıcı bazında yapılandırılabilir.

ya da http://httpd.apache.org/docs/1.3/programs/ab.html

ab is a tool for benchmarking the performance of your Apache HyperText Transfer Protocol (HTTP) server. It does this by giving you an indication of how many requests per second your Apache installation can serve.

, PHP kodu sınamak kullanmak için PHPUnit. Sizin frontend'i sınamak kullanmak için Selenium.

Güvenlik testleri için, ben güçlü bir denetim satın almak ve adanmış uzmanlara bırakıyorum öneririm. App kod ötesine sadece çok olası saldırı vektörleri vardır.

Ben bu yazıyı okumanızı öneririz, onun çok kullanışlı ben bir tane inşa her zaman benim dinamik web sitelerini kontrol edin.

What should a developer know before building a public web site?

Edit:

http://jmeter.apache.org/

Apache JMeter açık kaynak yazılım test işlevsel davranış yüklemek ve performansını ölçmek için tasarlanmış% 100 saf Java masaüstü uygulamasıdır. It was originally designed for testing Web Applications but has since expanded to other test functions.

Ben bu bir sürü yapmak beri sadece öneri bir çift genişletmek istiyorum.

Kuşatma büyük bir aklı denetleyicisi ve giriş için bir gerçek düşük engel vardır. Ubuntu ve diğerleri standart paket ve sadece çalıştırmak için komut satırı parametreleri gerektirir. Yani siz istediğiniz kadar sert web slam (ya da cesaret) nerede kırılma noktasını görmek için olabilir. Benim deneyim birkaç web sunucuları doğrusal bir şekilde aşağılamak olduğunu. Yükü artar onlar biraz daha yavaş olsun, sonra biraz daha yavaş, daha sonra yükleme süresi 20 saniye atlar bam. O olur bilmek size şeyler yapılması gerekiyorsa endişe ve ne kadar bir fikir verir. 500 + eşzamanlı kullanıcıların kadar duvara vurmak yoksa, o zaman bazı payı bulunur.

Ama bu kuşatma web SİTE daha web sunucusu test hakkında gerçekten fazla dikkat.

Aynı poster önceden Selenyum bunun için harika bir araçtır belirtildiği gibi, ancak, bir süre yatırım bekliyoruz. (Bunu yapmak isteyeceksiniz rağmen) aslında sadece scripting içine almadan bir HTTP paketi olarak Selenyum IDE kullanarak ve Selenyum RC altında ya onları çalıştıran tarayıcınızda birkaç testleri kapalı pop. Yukarı ve bu yaklaşımın dezavantajı hem de bu makine sadece tutmak değil, çünkü gerçek-dünya dünya sonuç almazsınız yani sadece tek bir makinede testini çalışan, gerçek bir tarayıcı güç olmasıdır. Bu tekrar ve tekrar yapıyor olacak bir şey olup olmadığını küçük bir VM bilgiye sahip, özellikle çalışan ve SRC kurma ve Selenyum Izgara zor bir görev olabilir, ama tamamen buna değer gerekir.

Selenyum oluşturulan adamlar şimdi tüm standart tarayıcılar çalışır ve (bir performans testi için kapatabilirsiniz) oturumun video yakalar ticari bir bulut-tabanlı RC sunuyoruz. Bu http://saucelabs.com de bulunuyor ve yük testi, veya tüm tarayıcılarda ücretsiz hızlı testler bakım ya için harika. (Ben hala yerel fonksiyonel testler). Yine, maliyeti, ama makul.

Ilk önce "şiddetle" sitenizi test ediyor, ve ben sadece enerji bir sürü test değil, tüm işlevselliği test anlamına varsayarak yaşıyorum çünkü ben daha bu heceleyerek.

Ben kapsamlı testler (bir çok şey, örneğin bir form doldurarak, yeniden kullanılabilir çünkü genellikle scripting içine almak nerede olduğu) yazma dışında bunun için herhangi bir sihirli mermi bilmiyorum.

Eğer bir yerde bir kullanılabilirlik program yok eğer bir şey bulmak, kaydolmak (bazı non-programmers/web-people kullanacağım izin ve onları izlemek ve çeşitli "görevleri" yapmak isteyin, bunu başlatmak önce son şey, , hayır Bu kullanılabilirlik testleri gibi geliyor ama çok geç bunun için, ama size kod hataları bulmak gibi kim sanmıyorum ne kadar hızlı insanlar şaşıracaksınız) 's "üzerine tıklayın". Bu umarım test değil alanlarda yeni ufuklar açmak gerekir.

Ben web uygulamaları için orada bir "kapsama" aracını bulamadı. Orada biri, ama eğer bunu duymak isterim.

Ayrıca, ben söz ediyorum Tsung.

Kendi tanıtımından Reding:

Tsung is an open-source multi-protocol distributed load testing tool

It can be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers. Tsung (formerly known as IDX-Tsunami) is a free software released under the GPLv2 license.

The purpose of Tsung is to simulate users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers. Many protocols have been implemented and tested, and it can be easily extended. WebDAV, LDAP and MySQL support have been added recently (experimental).

It can be distributed on several client machines and is able to simulate hundreds of thousands of virtual users concurrently (or even millions if you have enough hardware ...).

Tsung is developed in Erlang, an open-source language made by Ericsson for building robust fault-tolerant distributed applications.

Tsung Süreci-One tarafından desteklenmektedir

Eğer apachebenchmark teslim var?

http://httpd.apache.org/docs/1.3/programs/ab.html

Eğer yük ve eşzamanlı bağlantıları işleyebilir nasıl test için yararlıdır

Google'ın Skipfish deneyebilirsiniz. Bu bir güvenlik tarayıcı ama o arada sitenize istekleri oldukça bir sürü oluşturur.

Slashdot ön sayfada almak

http://seleniumhq.org/ aramak için teknolojidir.

Kendi sitesinden alıntılar:

Selenium is a robust set of tools that supports rapid development of test automation for web-based applications. Selenium provides a rich set of testing functions specifically geared to the needs of testing of a web application. These operations are highly flexible, allowing many options for locating UI elements and comparing expected test results against actual application behavior.

One of Selenium’s key features is the support for executing one’s tests on multiple browser platforms.

The most important part is probably: Selenium-RC (Remote Control)

Selenium-RC allows the test automation developer to use a programming language for maximum flexibility and extensibility in developing test logic. For instance, if the application under test returns a result set, and if the automated test program needs to run tests on each element in the result set, the programming language’s iteration support can be used to iterate through the result set, calling Selenium commands to run tests on each item.

Selenium-RC provides an API (Application Programming Interface) and library for each of its supported languages: HTML, Java, C#, Perl, PHP, Python, and Ruby. This ability to use Selenium-RC with a high-level programming language to develop test cases also allows the automated testing to be integrated with a project’s automated build environment.