Web-sovellusten testaus



Samankaltaiset tiedostot
Miten Internet toimii. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2013

Suorituskyky- ja tietoturvatestaus Kelassa

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

Tikon Web-sovellukset

CASE KELA: monimutkaisten ja laajojen järjestelmien suorituskyky- ja tietoturvatestaus

Tikon Web-sovellukset

Ohje sähköiseen osallistumiseen

Taustaa. CGI-ohjelmointi

Ohje sähköiseen osallistumiseen

Järjestelmäarkkitehtuuri (TK081702)

Selaimen asetukset. Toukokuu (7) Selaimen asetukset Tikon Oy. All rights reserved.

Tietoturvatestaus Teemu Vesala

Tikon Web-sovellukset

Tekniset vaatimukset Tikon 6.4.1

Miten Internet toimii. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2013

Miten Internet toimii. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2010

Sovelluskerros: Socket API, WWW, sähköposti, DNS

KRYSP-rajapintojen suorituskykytestaukset. Jari Torvinen

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

GroupWise Calendar Publishing Host User

Tekniset vaatimukset Tikon 6.5.0

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen

SÄHKÖPOSTIOHJE. Opiskelijoiden Office 365 for Education -palveluun

Visma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin

Kanta PHR:n Sandboxympäristöt. Eeva Turkka

ISACA Finland OWASP The OWASP Foundation. Timo Meriläinen Antti Laulajainen.

VERKKOPALVELUN TIETOTURVAN VARMENTAMINEN

Kaislanet-käyttöohjeet

Ponnahdusikkunoiden käsittely eri selaimissa käyttöönotettaessa MediReseptiä

CASE STOCKMANN : Laadunvarmistuksen merkitys verkkokauppapalvelun lanseerauksessa. Ilkka Pirttimaa, Head Of Technology, Stockmann IT

Turvallisempaa tietokoneen ja Internetin käyttöä

OHJE Jos Kelaimeen kirjautuminen ei onnistu Mac-koneella Sisällys

Opas verkkopalvelun tietoturvan varmentamiseen

Miten Internet toimii. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

Lohtu-projekti. Testaussuunnitelma

Autentikoivan lähtevän postin palvelimen asetukset

SQL Buddy JAMK Labranet Wiki

Tikon Web-sovellukset

OHJE Jos Kelaimeen kirjautuminen ei onnistu Windows-koneilla

Sähköpostitilin käyttöönotto

Ei-toiminnallinen testaus Kelassa

Palomuurit. Palomuuri. Teoriaa. Pakettitason palomuuri. Sovellustason palomuuri

Ammattijärjestäjä Aulasvuori Www-projektin kuvaus

Käyttöohje Planeetta Internet Oy

MeetNow-palvelun käyttöopas

Sovelluskerros: Socket API, WWW, sähköposti, DNS

13. Pintaa syvemmältä 233

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää.

Testaussuunnitelma Labra

Finnan ja kirjaston palveluiden ohjeita

Tekninen suunnitelma - StatbeatMOBILE

CitiManager: Siirtymisen pikaopas kortinhaltijoille

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

Testidatan generointi

1.1 Internetistä lyhyesti. Mikä Internet on? 1.2 Maailmanlaajuinen verkko

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää.

Finnan ja kirjaston palveluiden ohjeita

OPISKELIJAN PIKAOPAS

Tuplaturvan tilaus ja asennusohje

Yleinen ohje LAITEYMPÄRISTÖ

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Virtuaalityöpöydät (VDI) opintohallinnon järjestelmien käyttöympäristönä.

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

CCLEANER LATAAMINEN JA ASENTAMINEN

Keskustelusivusto. Suunnitteludokumentti

HP ProBook 430 G5 kannettavien käyttöönotto

SÄHKÖPOSTIOHJE Mikkelin ammattikorkeakoulu

Laiteriippumaton UI Ajaxilla ja Javalla

Tapahtuipa Testaajalle...

Web-sovellusten haavoittuvuudet ja penetraatiotestaus. Kristian Harju

Webinaariin liittyminen Skype for

Miten Internet toimii. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2011

Kuormitustestausvälineen valinta Microsoft Office SharePoint Server 2007 toteutuksessa

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus

Ohjelmistotuotantoprojekti

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää.

DOM ja Ajax. Jaana Holvikivi Metropolia. J.Holvikivi

pikaohje selainten vianetsintään Sisällysluettelo 17. joulukuuta 2010 Sisällysluettelo Sisällys Internet Explorer 2 Asetukset Internet Explorer 8:ssa

Laajuus 5 op Luennot: 12 x 2t Harjoitukset: 7 viikkoharjoitusta harjoitusten tekemiseen saatavissa apua 2 ryhmää / harjoitus

Hyrrä UKK Tomi Tiikkainen

Onnistunut Vaatimuspohjainen Testaus

Meetnow-palvelun käyttöopas

Sivuston nopeus. Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä

Tekninen suunnitelma - StatbeatMOBILE

PROJEKTIDOKUMENTAATIO MONIPALVELU HALONEN

Microsoft Visual Studio 2005

ARVO - verkkomateriaalien arviointiin

3 Verkkopalveluarkkitehtuuri

Google Cloud Print -opas

Basware Portal palvelun ohje toimittajille

INTERNETSELAIMEN ASETUKSET. Kuinka saan parhaan irti selaimesta

Sivuston nopeus. Tiivistämällä resursseja gzip- tai deflate-koodilla voit vähentää verkon kautta lähetettävien tavujen määrää.

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

WWW-sivu. Miten Internet toimii? World Wide Web. HTML-koodi. HTTP-istunto URL <#>

Suorituskykytestaus / kuormitustestaus

Tietokantasovelluksen määrittelydokumentti

Tarjous sidonnaisuuspalvelusta

Transkriptio:

Web-sovellusten testaus

Testityypit web-sovellukselle Toiminnallisuus Yhteensopivuustestaus Käytettävyys Suorituskykytestaus Tietoturvatestaus Rajapintojen testaaminen

GET -pyyntö REQUEST: GET http://www.cybercom.com:80/ HTTP/1.1 Host: www.cybercom.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Proxy-Connection: keep-alive RESPONSE: HTTP/1.1 200 OK Date: Fri, 25 Nov 2011 06:37:24 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 Cache-Control: private Expires: Sun, 27 Nov 2011 06:37:24 GMT Content-Type: text/html; charset=utf-8 Content-length: 19392

POST - pyyntö REQUEST POST http://www.cybercom.com:80/search/?quicksearchquery=document HTTP/1.1 Host: www.cybercom.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Proxy-Connection: keep-alive Referer: http://www.cybercom.com/search/?quicksearchquery=document Cookie: sifrfetch=true; utma=80957384.226035340.1322462249.1322462249.1322462249.1; utmb=80957384.6.10.1322462249; utmc=80957384; utmz=80957384.1322462249.1.1.utmcsr=(direct) utmccn=(direct) utmcmd=(none); ptca=80957384.g1mjx4diopnw.1322455050.1322455050.1322455050.1; ptv_3rt7en=g1mjx4diopnw; pti_3rt7en=g1mjx4diopnw; ptcc=1; ptcs=80957384.6.10.1322455050; ptcz=80957384.1322455050.1.0.ptmcsr=(direct) ptmcmd=(none) ptmccn=(direct) Content-Type: application/x-www-form-urlencoded Content-length: 24372 FormHolder%24ctl00%24SearchText=document&ctl00%24FormHolder%24PageHolder%24WideContentHolder%24C entercontentholder%24mainbodyholder%24searchtext=document&ctl00%24formholder%24pageholder%24wide ContentHolder%24CenterContentHolder%24MainBodyHolder%24SearchButton=Search

Muita HTTP - pyyntöjä OPTIONS Palauttaa HEAD PUT Palauttaa vain vastauksen headerin Lataa palvelimelle resursseja DELETE Tekee palvelimelle resurssin poiston TRACE Palauttaa alkuperäisen pyynnön CONNECT pyydetään yhteyttä, joka jää päälle (esim. ssl -tunnelointi)

Web sivuilta yleisesti testattavia asioita Navigointi Back napin käyttö Sivun päivitys Javascript Usean selaininstanssin avaaminen HTML koodin validointi CSS tyylisivujen validointi Syötteet Evästeet ja niiden hallinta

Web sivuilta yleisesti testattavia asioita Linkkien tarkistus Tähän löytyy ilmaisia ja maksullisia työkaluja Osa regressiotestausta Sivuston visuaalisen ilmeen tarkistus Zoomaus Eri näytön resoluutiot Eri selaimet Sivuston sivujen tulostaminen Selainten liitännäisten käyttö Flash/Flex, Silverlight, Java appletit ym. Videoiden näyttäminen Lokalisointi Company presentation

Yhteensopivuus eri selaimilla 2011 Internet Explorer Firefox Chrome Safari Opera October 21.7 % 38.7 % 32.3 % 4.2 % 2.4 % September 22.9 % 39.7 % 30.5 % 4.0 % 2.2 % August 22.4 % 40.6 % 30.3 % 3.8 % 2.3 % July 22.0 % 42.0 % 29.4 % 3.6 % 2.4 % June 23.2 % 42.2 % 27.9 % 3.7 % 2.4 % May 24.9 % 42.4 % 25.9 % 4.0 % 2.4 % April 24.3 % 42.9 % 25.6 % 4.1 % 2.6 % March 25.8 % 42.2 % 25.0 % 4.0 % 2.5 % February 26.5 % 42.4 % 24.1 % 4.1 % 2.5 % January 26.6 % 42.8 % 23.8 % 4.0 % 2.5 % Lähde: http://www.w3schools.com/browsers/browsers_stats.asp

Syötteiden tarkistus / testaus Ei voida olettaa, että sovelluksen käyttäjä käyttää sovellusta oikein Web-sovelluksen käyttäjä voi syöttää sovellukselle mitä tahansa syötteitä tahattomasti tai tahallaan Kehittäjät tekevät usein oletuksia, miten sovellusta tulisi käyttää ja mitä syötteitä sille tulee syöttää Tärkeä osa sovelluksen tietoturvaa Kaikki sovellukseen tulevat syötteet tarkistettava!

Väärät syötteet negatiivinen testaus Merkkijonot Pitkät syötteet Erikoismerkit Html/javascript syöttö SQL Välilyönnit Päivämäärät Eri formaateissa Väärät päivät (31.2) Kesäaika Numerot Negatiiviset luvut Suuret luvut 0 Liukuluvut

Käytettävyys Mikä on sovelluksen kohderyhmä? Käytön ja navigaation logiikka 3 klikkauksen sääntö Visuaalinen ilme ja yhdenmukaisuus Ohjeistus Sivujen latausnopeus Sivujen raskaus (sivukoko, javascriptin käyttö)

Web-testauksen työkaluja Selenium Web testauksen automatisointiin Nauhoitusominaisuus Testit ajetaan suoraan selaimella Useita selainympäristöjä Linkkien tarkistajat (http://validator.w3.org/checklink, Xenu ) Web crawlers Validaattorit (HTML/CSS)

Tietoturvan testaaminen Tietomurrot ovat nykyisin arkipäivää Uutisia murroista tulee lähes päivittäin, myös Suomessa Käyttäjät eivät ole luotettavia Kaikki syötteet on tarkistettava Joitakin sovelluksen haavoittuvuuksia SQL-injektiot Cross site scripting (XSS) Cross Site Request Forgery (CSRF) OWASP: https://www.owasp.org/index.php/main_page Testing guide: https://www.owasp.org/index.php/category:owasp_testing_project

Tietoturvan testaaminen Autentikointi Salasanan vahvuus ja tilin lukitseminen Ei hyväksytä kaikkia salasanoja Tilin lukitseminen esim. 10 virheellisen kirjautumisyrityksen jälkeen (tässä 2 puolta) Kirjautumisen vanheneminen Unohtuiko salasana? ominaisuus Käyttäjäprofiilit Auktorisointi pääsy ainoastaan sovelluksen sallittuihin osiin ja tietoihin Cookieiden käyttö Ei tallenneta vaarallista tietoa keksiin Cookien elinaika

Tietoturvatestauksen työkaluja Proxy työkalut WebScarab, Paros Burb Suite Skannerit nmap Nikto/Wikto Burb Suite W3af Acunetix, HP WebInspect (kaupallisia)

Suorituskyvyn testaaminen Tavoitteet Suorituskykyvaatimusten verifiointi. Suorituskyvyn selvittäminen. Kuormituksen siedon selvittäminen. Varmistaa, että käyttöönotto onnistuu suunnitellusti että palvelu ylipäätään toimii. Pullonkaulojen tunnistaminen. Selvittää laitteistotarve riittävyys nyt ja lähitulevaisuudessa.

Suorituskykytestauksen tyyppejä Suorituskykytestaus voidaan jakaa erilaisiin testityyppeihin, joista voidaan asiakkaan tarpeiden mukaan valita sopivimmat Testityyppejä Kuormitustestaus (Load testing) Testataan sovelluksen toimintaa määritettyjen raja-arvojen puitteissa, sekä testataan laitteiston kokoonpanon riittävyys Stressitestaus (Stress testing) Testataan, miten sovellus käyttäytyy äärimmäisissä kuormitustilanteissa Kestävyystestaus (Endurance testing) Testataan sovelluksen käyttäytymistä pitkäkestoisen kuormituksen aikana Skaalautuvuuden testaus (Scalability testing) Testataan sovelluksen skaalautuvuusominaisuuksia Volyymitestaus (Volume testing) Testataan toimivuutta erityisesti suurilla datamäärillä

Suorituskykytestauksen suunnittelu Suorituskykyvaatimukset Paljonko tapahtumia ruuhkaisimpana aikana? Keskimääräinen vierailuaika ja sivupyyntöjen määrä Mahdolliset kuormituspiikit? Testauksessa käytettävien käyttötapausten mietintä Sovelluksesta riippuen 3 6 keskeisintä käyttötapausta Mahdollisimman realistisen käytön simulointi Käyttötapausten painotus Palvelinresurssien monitorointi CPU kuorma Muistinkäyttö Levynkäyttö Verkkoliikenne Company presentation

Suorituskykytestauksen suunnittelu Suorituskykytestauksen testiskriptien luonti Nauhoitetaan virtuaalisille käyttäjille valitut käyttötapaukset Skriptien mietintäajat asetetaan realistisiksi Testidatan luonti ja käyttö Datan tulee olla riittävän laajaa ja dynaamista, jotta saadaan todellinen kuva suorituskyvystä Testidatan tulisi olla tuotantoa vastaava Vastausten tarkistukset Ei toiminnallista testausta Tavallisten virheviestien tarkistus Kuorman konfigurointi Käyttäjämäärät Käyttäjien lisääminen testattavaan sovellukseen Company presentation

Testin suoritus Company presentation Alustetaan palvelin uudelleenkäynnistys Aikaisemmat testit eivät vaikuta Asetetaan monitoroinnit Monitoroinnit tärkeitä, koska niiden avulla päästään paremmin pullonkaulojen jäljille Esitestien ajaminen Testiskriptien testaus useammalla virtuaalisella käyttäjällä Palvelimen lämmittely Palvelimen cachet alustuvat Testin ajaminen Oikea kuorma Esim. Testin ramp-up 30 minuuttia, 150 käyttäjää yhden tunnin ajan

Suorituskykytestauksen työkaluja Open-source Apache JMeter Grinder Httperf loadui OpenSTA Kaupallisia HP Loadrunner SilkPerformer WAPT Pro

www.cybercomgroup.com