Testing

539 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Testing

  1. 1. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu código Testeando tu código Albert Astals Cid Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  2. 2. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu código Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  3. 3. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoTipos de testing Unit Testing  QTestLib System Testing  Testability Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  4. 4. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoQTestLib Forma parte de Qt C++ Introducido en Qt 4.1 Dirigido a Unit Testing (white box) Soporte para GUI, señales, eventos Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  5. 5. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoQTestLib Forma parte de Qt C++ Introducido en Qt 4.1 Dirigido a Unit Testing (white box) Soporte para GUI, señales, eventos Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  6. 6. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoQTestLib (test básicos) Crear una clase que hereda de QObject Cada slot es un test QVERIFY para condiciones true/false QCOMPARE para comparaciones de dos valores ejemplo1/main.cpp Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  7. 7. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoQTestLib (compilar + ejecutar) Linkar con qtestlib ./programa_test ./programa_test nombre_de_slot Varios flags  -random  -silent  -xml Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  8. 8. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoQTestLib (datos para tests) Permite añadir “iteraciones” a un test sin añadir código QTest::addColumn, para añadir columna de datos QTest::newRow, para añadir fila de datos QFETCH para recuperar datos de una fila ejemplo2/main.cpp Usar flag -v2 para ver que realmente se testean los 3 casos ;-) Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  9. 9. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoQTestLib (tests gráficos) QTest::key[Clicks|Click|Press|Release] QTest::mouse[Click|DClick|Move|Press|Release] QTest::touchEvent() QTest::qWaitForWindowShown QSignalSpy ejemplo3/main.cpp ejemplo4/main.cpp Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  10. 10. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoTestability Desarrollado por Nokia (no el departamento de Qt) Infraestructura cliente/servidor Scripts Ruby No es parte de Qt (Qt 4.6 añade soporte) Dirigido a System Testing (gray box) Soporte para GUI, señales, etc kdelibs >= 4.8.3 (para programas basados en kdelibs) Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  11. 11. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoTestability (tdriver_visualizer) Visualizador de la estructura de la aplicación Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  12. 12. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu códigoTestability (scripts) Ruby Acceso a metodos y propiedades del objeto Ejecutados en el servidor ejemplo5/test.rb Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>
  13. 13. Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Testeando tu código Akademy-es 2012 – Zaragoza – 19 de Mayo - Albert Astals Cid <aacid@kde.org>

×