Test di QA per App Mobile
Le applicazioni mobili aziendali supportano le funzioni aziendali tramite dispositivi mobili wireless. Da oltre 10 anni iTech Labs testa queste piattaforme aziendali su vari dispositivi mobili. Il nostro test QA Mobile App si svolge su browser e applicazioni scaricabili.
La maggior parte dei test Mobile effettuati da iTech Labs si è rivolta verso l’industria del gioco online, per integrare con servizi aggiuntivi il nostro lavoro di certificazione e audit. Questo solido background nel testare approfonditamente strutture interne di codice altamente sicuro, ha permesso ai nostri esperti tester di eccellere sul banco di prova di una vasta gamma di software e applicazioni.
Abbiamo avuto il privilegio di condurre test su applicativi mobili per alcune delle più grandi aziende nel settore del gioco online di tutto il mondo, e la nostra rete di clienti soddisfatti è in continua espansione.
Ambiti del test su mobile
Il nostro test di QA Mobile App viene condotto in base alle specifiche. Tali specifiche possono essere adattate alle singole aziende e regolamentazioni. Lo scopo del nostro test Mobile non è solo quello di soddisfare specifiche rigorose, ma anche quello di soddisfare qualsiasi business requirement che i nostri clienti abbiano stabilito.
I servizi di mobile testing a prezzi competitivi sono erogati dai nostri laboratori di test in Australia, Europa e Asia.
Per ulteriori informazioni sui test di Quality Assurance, visita il nostro sito web dedicato alla QA: www.itechqalabs.com
Le aree principali coperte dai test mobile sono:
Durante la fase di test funzionale, ci assicuriamo che tutti i singoli moduli funzionino secondo le specifiche, sia individualmente sia nel contesto integrato. Inoltre, assicuriamo che la connettività tra i moduli e il mondo esterno rimanga solida . Prepariamo script di test con casi di prova che coprono ogni genere di requisito coperto in una specifica di modulo, per garantire che il software faccia tutto ciò che dovrebbe effettivamente fare.
I test funzionali prevedono tipicamente quanto segue:
- Identificazione di eventuali normative governative applicabili e a cui il software deve conformarsi
- Identificazione di tutte le funzioni che il software deve svolgere
- Creazione di dati in ingresso e determinazione dei rispettivi output
- esecuzione dei test cases
- Confronto tra risultati effettivi e previsti
- Verifica sul funzionamento atteso dell’applicazione
- Test di connettività
- Prova di funzionamento di ogni singolo modulo
- Test di integrazione
Effettuare dei test funzionali non significa semplicemente testare una funzione o un metodo: i nostri test funzionali si spingono ancora più in profondità e testano una parte della funzionalità dell’intero sistema (approccio noto anche come test end-to-end).
Durante il test di interazione utente/dispositivo, ci assicuriamo che l’applicazione non influisca negativamente o interferisca con qualsiasi altra applicazione o funzione presente sul dispositivo.
Le tre aree principali di questo test comprendono:
- Applicazioni multiple
- Chiamate e Messaggi
- Sezioni Informative di Aiuto
La velocità e le prestazioni di un’applicazione mobile sono fattori chiave quando si tratta di garantire la qualità e la soddisfazione agli utenti finali.
Il test delle prestazioni determina le prestazioni dell’applicazione in termini di reattività e stabilità, sotto un particolare carico di lavoro. Può anche servire a misurare, convalidare o verificare altri attributi del sistema, come la scalabilità, l’affidabilità e il consumo di risorse. Mettiamo a vostra disposizione anni di esperienza nel test prestazionale, per garantire che la vostra applicazione sia offerta ai vostri clienti con il massimo livello di qualità possibile.
Test di Carico
Il test di carico è la forma più semplice di controllo delle prestazioni. Generalmente viene eseguita una prova di carico per conoscere il comportamento del sistema sotto un determinato carico. Questo carico potrebbe essere rappresentato dal numero previsto di utenti simultanei che effettuano un numero specifico di transazioni entro un tempo stabilito. Se vengono controllati anche il database, il server applicativo, ecc., questo test può individuare eventuali colli di bottiglia presenti nel software applicativo.
Stress Test
Lo stress test viene normalmente utilizzato per comprendere i limiti massimi di portata del sistema. Questo test viene condotto al fine di determinare la robustezza dell’applicazione sotto un carico estremo, e aiuta a determinare se l’applicazione funzionerà adeguatamente in vista di un carico ben superiore al massimo previsto.
Il test sullo stato di salute del dispositivo è di vitale importanza per assicurare il funzionamento generale del dispositivo mentre l’applicazione è in esecuzione oppure è inattiva. Durante questa fase eseguiamo diversi test per determinare se ogni funzione “ordinaria” del dispositivo, dalla più piccola e occulta alla più semplice e standard, è in grado di completare il suo scopo mentre l’applicazione è in stato di funzionamento attivo o inattivo.
Tra questi test vi sono i seguenti:
- Stabilità dell’applicazione
- Gestione degli eventi
- Utilizzo della memoria
- Gestione degli errori
Il test di compatibilità di più dispositivi determina se l’applicazione si adatta e funziona correttamente su diversi sistemi operativi e dimensioni dello schermo. Abbiamo i metodi di prova e dispositivi necessari a garantire che la maggior parte dei tipi di dispositivi (di diverse dimensioni) siano coperti, lasciandovi completamente certi che la vostra applicazione sarà ben accolta da tutti i destinatari.
La fase di test dell’interfaccia del nostro processo comprende diversi test. Ognuno di questi assicura che, a seconda dell’ambiente o dei dispositivi, l’applicazione sarà in grado di adattarsi e funzionare come previsto, senza ritardi, comunicazioni errate o intoppi.
Le aree principali della fase di test dell’interfaccia sono le seguenti:
- Display
- Interfaccia utente
- Ingresso/uscita
- Data e ora internazionali
Il test di sicurezza comprende tutte le misure adottate durante l’intero ciclo di vita del codice, per evitare lacune nella politica di sicurezza del software o qualsiasi vulnerabilità del sistema sottostante. Questi possono essere dovuti a difetti di progettazione, sviluppo, implementazione, aggiornamento o manutenzione dell’applicazione e sono incredibilmente facili da trascurare da parte di occhi interni o inesperti.
Qui di seguito sono indicate le più comuni minacce alla sicurezza:
Categoria | Minacce / Attacchi |
---|---|
Convalida dell’input | Buffer overflow; cross-site scripting; SQL injection;canonicizzazione |
Manomissione software | Causato da un individuo che attacca e modifica il comportamento in esecuzione di un’applicazione esistente al fine di eseguire azioni non autorizzate; sfruttando patch binarie, sostituzione del codice o estensione del codice. |
Autenticazione | Intercettazione in rete; attacco Brute force; attacchi dizionario; cookie replay; furto di credenziali |
Autorizzazione | Elevazione dei privilegi; divulgazione di dati riservati; manomissione dei dati; atti di aggressione. |
Gestione della configurazione | Accesso non autorizzato alle interfacce di amministrazione; accesso non autorizzato agli archivi di configurazione; recupero di dati di configurazione in chiaro; mancanza di responsabilità individuale; account di processo e di servizio eccessivamente privilegiati. |
Informazioni sensibili | Accesso al codice o ai dati sensibili in memoria; intercettazione di rete; manomissione di codici/dati |
Gestione della sessione | Dirottamento della sessione; riproduzione della sessione; man in the middle |
Crittografia | Inadeguata generazione o gestione delle chiavi; crittografia debole o personalizzata |
Manipolazione dei parametri | Manipolazione della stringa di query; manipolazione del campo form; manipolazione dei cookie; manipolazione dell’intestazione HTTP |
Gestione Eccezioni | Divulgamzione delle informazioni; denial of service |
Revisione e registrazione | L’ utente nega l’esecuzione di un’operazione; l’aggressore sfrutta un’applicazione senza lasciare tracce; l’aggressore copre le sue tracce |
I test di sicurezza controllano la presenza di eventuali vulnerabilità o lacune di sicurezza nel software. Se non testate, queste vulnerabilità lasciano il software e i dati dei clienti allo scoperto.
Gli strumenti automatizzati associati al rilevamento della sicurezza sono: scanner di vulnerabilità, strumenti di penetration testing e strumenti di analisi del codice.
Il test di regressione ha lo scopo di individuare qualsiasi bug software all’interno dei moduli di un’applicazione, dopo aver apportato modifiche quali miglioramenti, patch o modifiche di configurazione nei moduli ad essi correlati. Lo scopo del test di regressione è quello di garantire che le modifiche software non abbiano introdotto nuovi bug nei moduli correlati dell’applicazione.
I test di regressione vengono eseguiti per testare un’applicazione in modo efficiente, selezionando sistematicamente il numero minimo di test appropriati, evitando così di ripetere i test precedentemente completati. In questo modo è possibile risparmiare sia tempo che denaro.
I test di regressione possono essere eseguiti manualmente o mediante l’utilizzo di strumenti automatizzati.
In molte applicazioni critiche soggette a supervisione regolamentata, il codice critico deve essere esaminato in modo indipendente e va compilato sotto la supervisione di un laboratorio di prova indipendente. La revisione del codice sorgente generalmente comporta l’uso di valori di input, logiche e parametri che determinano i valori di output, oltre alla ricerca di Trojan e di codice dannoso. La revisione del codice sorgente può essere adattata alle vostre esigenze individuali. Forniamo inoltre manuali e analisi automatizzate del software.
I nostri consulenti possiedono una vasta esperienza nella revisione del codice critico e nella conduzione di compilazioni assistite da remoto.