https://projects.forum.nokia.com/Testabilitydriver/wiki

Testability Driver TDriver is a testing tool open sourced by Nokia. It will make test automation possible for Qt applications running on any platform that runs Qt. Platforms we have used include: Linux, Windows, Mac, Symbian, maemo and MeeGo?.


Functional UI test automation
TDriver can be used to make tests through the UI layer. For example agile sw development teams can include passing UI tests as part of their definition of done. The tested UI can be any Qt UI like QWidgets, QGraphicsView, web content or QML.

Functional test automation through business logic
This kind of testing will bypass the UI layer with fixtures developed by developers and testers together. Fixtures are plugins executed on the SUT. These tests are usually faster to execute and more robust - need less maintenance especially if the UI is changing a lot.

Rendering testing
TDriver can use Imagemagick libraries to do rendering verification through screen captures and bitmap verification.

Multiple device testing
It is possible to control multiple devices in one test. This kind of scenarios include multiple mobile devices communicating with each other. Also one scenario might be to control a PC through Qt based web browser accessing sites and then switching to mobile device and browse the same sites or use dedicated applications that access those services.

Localisation testing
User can generate a database containing translations for their application. Using this information it is possible to verify correct translations are in place when switching languages.

Performance testing
TDriver can be used to make performance tests from the user experience point of view. This means high level measurement points which are easily measured and can be used to test regression. It is possible to monitor events and signals of the application and use this information for measuring performance for example application startup time or end to end performance of any use case. Effective performance testing will require instrumentation of the applications for example placing proper signals into measurement points.

Reliability testing
Reliability testing is running a set of test cases multiple times. Using TDRunner the execution of these test cases can be randomized and one can provide importance for certain test cases (weights) if they need to be executed more than others. TDRunner can be set to run a number of iterations, number of hours or until a predefined date & time. Reliability testing is usually executed for days or even weeks. TDRunner uses TDriverReporter which is HTML based report that can be written to disk in realtime providing the possibility to interpret a test case result immediately after it has been executed even though the suite is still ongoing.

Memory consumption monitoring
During the functional tests it is possible to monitor memory consumption of the SUT or application. Simple memory leaks are easily detected if the memory consumption trend is growing. If regression is detected then it is possible to execute tests under Valgrind for more detailed analysis.

Continuous verification
It is possible to configure additional verifications that will take place continuously in the background. For example one could measure the application memory consumption does not exceed a certain threshold,
Share
Related Documents
  1. Different Forms of Software Testing Techniques for Finding Errors (2010) (501)
  2. [Video] GUI-Level Regression Testing (918)
  3. testing tool to automate functional & performance testing? (1213)
  4. Set up and customize your cloud testing environment (1752)
  5. Performance Testing (1373)
  6. Loadrunner Analyse Traffic Feature (2061)
  7. Generating Mobile Load for web application with JMeter (2941)
  8. Oracle 9i : Performance Tunning : Sample Exam (1291)
  9. Phân Biệt Performance Test (PT), Load Test (LT), Stress Test (ST) (2857)
  10. Software Performance and Scalability: A Quantitative Approach (2854)
  11. Approaches to performance testing (1571)
  12. Load testing 10 suggestions to improve performance (1949)
  13. [Free] Jmeter plugin (1873)
  14. Leveraging Unit Tests As Functional Tests, Load Tests (767)
  15. Harnessing the Cloud for Performance Testing (593)
  16. Performance Testing Best Practices: Performance Testing in Production (686)
  17. Best Practices for Performance Testing (1362)
  18. JBoss AS 5 Performance Tuning (2719)
  19. [Free] ContiPerf 2 : JUnit 4 test cases as performance tests (3038)
  20. Best Practices in Performance Testing Webinar (750)