PageRenderTime 43ms CodeModel.GetById 16ms app.highlight 14ms RepoModel.GetById 1ms app.codeStats 1ms

/vendor/lastcraft/simpletest/docs/source/it/overview.xml

https://bitbucket.org/mjmeintjes/mattsum-datafeed-helpers
XML | 409 lines | 400 code | 8 blank | 1 comment | 0 complexity | 1d95af8965218c166ff3ca9354d1f361 MD5 | raw file
  1<?xml version="1.0"?>
  2<!-- $Id$ -->
  3<page title="Panoramica su SimpleTest" here="Panoramica su SimpleTest">
  4    <synchronisation lang="en" version="0" date="08/06/2011" maintainer="arialdomartini" />
  5    <long_title>
  6        Panoramica ed elenco delle caratteristiche dello unit tester e del web tester di SimpleTest
  7    </long_title>
  8    <content>
  9        <section name="summary" title="Cos'è SimpleTest?">
 10            <p>
 11                Il cuore di SimpleTest è un framework costruito intorno a classi
 12				di test case. Queste ereditano delle classi test case di base
 13				e vengono estese con dei metodi che contengono il codice di collaudo.
 14                Ogni metodo di test di una classe test case è concepito per invocare
 15				una serie di metodi assert, come <code>assertEqual()</code>, che lo sviluppatore
 16				si attende vengano confermati.
 17                Se il risultato atteso viene confermato allora successo dell'operazione
 18				viene comunicato al test reporter che è in ascolto mentre qualsiasi
 19				insuccesso o qualsiasi eccezione inattesa scatena un alert con la
 20				relativa descrizione della discordanza.
 21				
 22                Le dichiarazioni contenute del test case vengono convertite in
 23				test script eseguibili mediante l'inclusione del file 
 24				autorun.php di SimpleTest.
 25                
 26            </p>
 27            <p>
 28                Nonostante i molti sforzi intrapresi per mantenere la
 29				compatibilità tra le varie versioni, la presente documentazione si riferisce 
 30				alla versione 1.1 di SimpleTest.
 31				
 32				Nel caso si rilevi un malfunzionamento nei test dopo un aggiornamento,
 33				si provi a consultare i file &quot;HELP_MY_TESTS_DONT_WORK_ANYMORE&quot; nella
 34				directory simpletest per accertarsi della possibilità che una delle feature che si stanno utilizzando
 35				sia stata rimossa o indicata come deprecata.
 36            </p>
 37            <p>
 38                Un <a local="unit_test_documentation">test case</a> ha questo aspetto:
 39<php><![CDATA[
 40<?php
 41require_once('simpletest/autorun.php');
 42
 43class <strong>MyTestCase</strong> extends UnitTestCase {
 44    <strong>
 45    function testWillCreateLogFileOnFirstMessage() {
 46        $log = new Log('my.log');
 47        $this->assertFalse(file_exists('my.log'));
 48        $log->message('Hello');
 49        $this->assertTrue(file_exists('my.log'));
 50    }</strong>
 51}
 52?>
 53]]></php>
 54            </p>
 55            <p>
 56				SimpleTest è pensato per essere utilizzato da sviluppatori.
 57                I destinatari di questo tool includono tutti gli sviluppatori
 58				di applicazioni PHP di medie dimensioni, compresi gli sviluppatori
 59				che si sono avvicinati da poco all'argomento dello unit testing e del
 60				web regression testing.
 61                I principi cardine di SimpleTest sono la sua facilità d'uso, l'estendibilità e 
 62				l'essenzialità delle sue caratteristiche.
 63            </p>
 64            <p>
 65                I test vengono scritti direttamente in PHP, cioè nel linguaggio principale dell'applicazione.
 66				Il vantaggio nell'uso del PHP come linguaggio di testing risiede nel
 67				non dover imparare un nuovo linguaggio e nelle possibilità di iniziare
 68				immediatamente ad implementare i test e da permettere allo sviluppatore di 
 69				collaudare uan qualsiasi parte del codice.
 70				Fondamentalmente, qualsiasi sezione possa essere raggiunto dal codice dell'applicazione può
 71				essere anche raggiunta dal codice di test dal momento che entrambi utilizzano il
 72				medesimo linguaggio di programmazione.
 73            </p>
 74            <p>
 75				Il tipo più semplice di case test è lo 
 76				<a local="unit_tester_documentation">UnitTestCase</a>.
 77				Questa classe comprende i test standard per valutare l'uguaglianza di valori e
 78				riferimenti e il matching con pattern.
 79				Tutti questi test eseguono delle verifiche sui valori attesi come ritorno di 
 80				funzioni e metodi.
 81				Si tratta senz'altro del tipo più comune di test nell'attività quotidiana di sviluppo
 82				e costituiscono il 95% dei test case.
 83				
 84                
 85            </p>
 86            <p>
 87				Tuttavia, l'obiettivo principale di un'applicazione web non è quello di
 88				produrre gli output corretti dai suoi metodi e dai suoi oggetti ma quello
 89				di generare pagine web.
 90				La classe <a local="web_tester_documentation">WebTestCase</a> collauda le pagine web.
 91                Simula l'attività di un browser che stia richiedendo una pagina e supporta cookie, proxy,
 92				connessioni sicure, autenticazione, form, frame e molti altri elementi di navigazione.
 93                Con questa tipologia di test case lo sviluppatore può verificare che le informazioni
 94				presenti sulla pagina, sul form e nelle sessioni siano manipolate in modo corretto.
 95                
 96            </p>
 97            <p>
 98                Un <a local="web_tester_documentation">WebTestCase</a> ha questo aspetto:
 99<php><![CDATA[
100<?php
101require_once('simpletest/autorun.php');
102require_once('simpletest/web_tester.php');
103
104class <strong>MySiteTest</strong> extends WebTestCase {
105    <strong>
106    function testHomePageHasContactDetails() {
107        $this->get('http://www.my-site.com/index.php');
108        $this->assertTitle('My Home Page');
109        $this->clickLink('Contact');
110        $this->assertTitle('Contact me');
111        $this->assertText('/Email me at/');
112    }</strong>
113}
114?>
115]]></php>
116            </p>
117        </section>
118        <section name="features" title="Elenco delle caratteristiche">
119            <p>
120                Quanto segue è una grossolana panoramica delle caratteristiche esistenti e
121				pianificate per SimpleTest con l'indicazione del momento previsto per il loro rilascio.
122				C'è la possibilità che questo elenco possa cambiare senza preavviso dal momento che
123				le milestone dipendono essenzialmente sul tempo libero che ho a disposizione.
124                Gli elementi colorati in verde sono già stati sviluppati ma non sono stati necessariamente
125				rilasciati. Nel caso ci sia la particolare urgenza di accedere ad una
126				feature già svilupata ma non ancora rilasciata è possibile eseguire un checkout
127				direttamente dal server SVN di Sourceforge.
128                <table><thead>
129                    <tr><th>Feature</th><th>Descrizione</th><th>Release</th></tr>
130                    </thead><tbody><tr>
131                        <td>Unit test case</td>
132                        <td>Classi test case di base e assert</td>
133                        <td style="color: green;">1.0</td>
134                    </tr>
135                    <tr>
136                        <td>Reportistica Html</td>
137                        <td>Il tipo di visualizzazione più semplice</td>
138                        <td style="color: green;">1.0</td>
139                    </tr>
140                    <tr>
141                        <td>Caricamento automatico delle classi</td>
142                        <td>
143							Legge un file contenente i test case e li carica all'interno
144							di un group test in modo automatico
145                        </td>
146                        <td style="color: green;">1.0</td>
147                    </tr>
148                    <tr>
149                        <td>Oggetti Mock</td>
150                        <td>
151							Oggetti capaci di simulare altri oggetti in modo da
152							rimuovere le dipendenze tra oggetti durante i test
153                        </td>
154                        <td style="color: green;">1.0</td>
155                    </tr>
156                    <tr>
157                        <td>Web test case</td>
158                        <td>Permette la navigazione tra link e i matching sul tag title</td>
159                        <td style="color: green;">1.0</td>
160                    </tr>
161                    <tr>
162                        <td>Mock parziali</td>
163                        <td>
164							Eseguono il mocking di parte in una classe per permettere il
165							collaudo di elementi più piccoli di una classe e simulazioni
166							particolarmente complesse.
167                        </td>
168                        <td style="color: green;">1.0</td>
169                    </tr>
170                    <tr>
171                        <td>Gestione dei cookie</td>
172                        <td>Manipola i cookie durante la ricezione delle pagine web</td>
173                        <td style="color: green;">1.0</td>
174                    </tr>
175                    <tr>
176                        <td>Redirect</td>
177						<td>Il recupero di una pagina produce automaticamente un redirect 300.</td>
178                        <td style="color: green;">1.0</td>
179                    </tr>
180                    <tr>
181                        <td>Parsing dei form</td>
182                        <td>Capacità di compilare semplici form e leggere i loro valori di default</td>
183                        <td style="color: green;">1.0</td>
184                    </tr>
185                    <tr>
186                        <td>Interfaccia a linea di comando</td>
187                        <td>Lancia e visualizza i test senza l'ausilio di un browser</td>
188                        <td style="color: green;">1.0</td>
189                    </tr>
190                    <tr>
191                        <td>Exposure of expectation classes ??</td>
192                        <td>Can create precise tests with mocks as well as test cases</td>
193                        <td style="color: green;">1.0</td>
194                    </tr>
195                    <tr>
196                        <td>Parsing e visualizzazione di XML</td>
197                        <td>
198                            Permette di eseguire i test su host multipli e l'integrazione delle estensioni per gli acceptance test
199                        </td>
200                        <td style="color: green;">1.0</td>
201                    </tr>
202                    <tr>
203                        <td>Browser component</td>
204                        <td>
205                            Espone un'interfaccia di basso livello per accedere al web browser ed eseguire
206							case test più dettagliati
207                        </td>
208                        <td style="color: green;">1.0</td>
209                    </tr>
210                    <tr>
211                        <td>Autenticazione HTTP</td>
212                        <td>
213                            Recupera pagine web protette: supporta solo l'autenticazione
214							di base
215                        </td>
216                        <td style="color: green;">1.0</td>
217                    </tr>
218                    <tr>
219                        <td>Supporto a SSL</td>
220                        <td>Permette di connettersi alle pagine https:</td>
221                        <td style="color: green;">1.0</td>
222                    </tr>
223                    <tr>
224                        <td>Supporto ai proxy</td>
225                        <td>Permette di eseguire richieste tramite proxy</td>
226                        <td style="color: green;">1.0</td>
227                    </tr>
228                    <tr>
229                        <td>Supporto ai frame</td>
230                        <td>Gestione dei frame all'interno dei web test case</td>
231                        <td style="color: green;">1.0</td>
232                    </tr>
233                    <tr>
234                        <td>Test dell'upload di file</td>
235                        <td>Supporto al test del tag input di tipo file</td>
236                        <td style="color: green;">1.0.1</td>
237                    </tr>
238                    <tr>
239                        <td>Interfacce di mocking</td>
240                        <td>
241                            Permette di generare oggetti mock di intefacce 
242							Can generate mock objects to interfaces as well as classes
243                            and class interfaces are carried for type hints ???
244                        </td>
245                        <td style="color: green;">1.0.1</td>
246                    </tr>
247                    <tr>
248                        <td>Testing delle eccezioni</td>
249                        <td>Feature simile al test degli errori PHP</td>
250                        <td style="color: green;">1.0.1</td>
251                    </tr>
252                    <tr>
253                        <td>Supporto alle label HTML</td>
254                        <td>Consente l'accesso ai controlli tramite la loro label</td>
255                        <td style="color: green;">1.0.1</td>
256                    </tr>
257                    <tr>
258                        <td>Supporto ai tag di base</td>
259                        <td>Respects page base tag when clicking ???</td>
260                        <td style="color: green;">1.0.1</td>
261                    </tr>
262                    <tr>
263                        <td>Conformità alla direttiva E_STRICT di PHP 5</td>
264                        <td>Versione per PHP 5 in grado di funzionare con il livello di errore E_STRICT</td>
265                        <td style="color: red;">1.1</td>
266                    </tr>
267                    <tr>
268                        <td>Alternate HTML parsers</td>
269                        <td>Can detect compiled parsers for performance improvements</td>
270                        <td style="color: red;">1.1</td>
271                    </tr>
272                    <tr>
273                        <td>Fixure in stile BDD</td>
274                        <td>Permette di importare le fixture utilizzando un mixing come Can import fixtures using a mixin come il metodo given()</td>
275                        <td style="color: red;">1.5</td>
276                    </tr>
277                    <tr>
278                        <td>Miglioramenti al motore di reporting</td>
279                        <td>Miglioramento al passaggio di messaggio per una migliore cooperazione con gli IDE</td>
280                        <td style="color: red;">1.5</td>
281                    </tr>
282                    <tr>
283                        <td>Fluent mock interface</td>
284                        <td>Oggetti mock ancora più flessibili e compatti</td>
285                        <td style="color: red;">1.6</td>
286                    </tr>
287                    <tr>
288                        <td>Localizzazione</td>
289                        <td>Localizzazione dei messaggi de del codice</td>
290                        <td style="color: red;">1.6</td>
291                    </tr>
292                    <tr>
293                        <td>Selettori CSS</td>
294                        <td>Il contenuto HTML generato può essere analizzato utilizzando i selettori CSS</td>
295                        <td style="color: red;">1.7</td>
296                    </tr>
297                    <tr>
298                        <td>Assert sulle tabelle HTML</td>
299                        <td>Permette esprimere le expectation utilizzando il matching dell'HTML e degli elementi delle tabelle</td>
300                        <td style="color: red;">1.7</td>
301                    </tr>
302                    <tr>
303                        <td>Modello unificato per l'acceptance test</td>
304                        <td>Permette di ricercare all'interno del contenuto per messo di selettori in combinazione alle expectation</td>
305                        <td style="color: red;">1.7</td>
306                    </tr>
307                    <tr>
308                        <td>DatabaseTestCase</td>
309                        <td>Selettori SQL e driver per DB</td>
310                        <td style="color: red;">1.7</td>
311                    </tr>
312                    <tr>
313                        <td>Supporto agli IFrame</td>
314                        <td>Accede al contenuto aggiornabile degli IFrame</td>
315                        <td style="color: red;">1.8</td>
316                    </tr>
317                    <tr>
318                        <td>Supporto integrato a Selenium</td>
319                        <td>Driver integrato per Selenium semplice da usare e provvisto di tutorial</td>
320                        <td style="color: red;">1.9</td>
321                    </tr>
322                    <tr>
323                        <td>Code coverage</td>
324                        <td>Esegue un rapporto sul code coverage utilizzando il tool integrato mediante l'uso di XDebug</td>
325                        <td style="color: red;">1.9</td>
326                    </tr>
327                    <tr>
328                        <td>Vecchi metodi segnati come deprecati</td>
329                        <td>SimpleTest2 possiede un'interfaccia più semplice</td>
330                        <td style="color: red;">2.0</td>
331                    </tr>
332                    <tr>
333                        <td>Supporto a Javascript</td>
334                        <td>Uso del modulo PECL per aggiungere il supporto a Javascript al browser nativo</td>
335                        <td style="color: red;">3.0</td>
336                    </tr>
337                </tbody></table>
338				L'integrazione con PHP 5 è completa il che significa che a partire dalla
339				versione 1.1 di SimpleTest verrà supportato solo PHP versione 5.0.5 o superiore.
340                Le precedenti versioni di SimpleTest sono compatibili con PHP dalla versione 4.2
341				alla versione 5 (non E_STRICT).
342            </p>
343        </section>
344    </content>
345    <internal>
346        <link>
347            <a href="#summary">Quick summary</a>
348            of the SimpleTest tool for PHP.
349        </link>
350        <link>
351            <a href="#features">List of features</a>,
352            both current ones and those planned.
353        </link>
354    </internal>
355    <external>
356        <link>
357            <a local="unit_test_documentation">Documentation for SimpleTest</a>.
358        </link>
359        <link>
360            <a href="http://www.lastcraft.com/first_test_tutorial.php">How to write PHP test cases</a>
361            is a fairly advanced tutorial.
362        </link>
363        <link>
364            <a href="http://simpletest.org/api/">SimpleTest API</a> from phpdoc.
365        </link>
366    </external>
367    <meta>
368        <keywords>
369            software development tools,
370            php programming,
371            programming php,
372            software development tools,
373            Tools for extreme programming,
374            free php scripts,
375            links of testing tools,
376            php testing resources,
377            mock objects,
378            junit,
379            jwebunit,
380            htmlunit,
381            itc,
382            php testing links,
383            unit test advice and documentation,
384            extreme programming in php
385        </keywords>
386    </meta>
387    <refsynopsisdiv>
388        <authorgroup>
389            <author>
390                Marcus Baker
391                <authorblurb>
392                    <para>Primary Developer</para><para>{@link mailto:marcus@lastcraft.com marcus@lastcraft.com}</para>
393                </authorblurb>
394            </author>
395            <author>
396                Perrick Pennet
397                <authorblurb>
398                    <para>General manager</para><para>{@link mailto:perrick@noparking.net perrick@noparking.net}</para>
399                </authorblurb>
400            </author>
401            <author>
402                Jason Sweat
403                <authorblurb>
404                    <para>Documentation</para><para>{@link mailto:jsweat_php@yahoo.com jsweat_php@yahoo.com}</para>
405                </authorblurb>
406            </author>
407        </authorgroup>
408    </refsynopsisdiv>
409</page>