Add Testing chapter
[ti-agile-manual/ti-agile-manual.git] / testing.tex
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
2 %% %%\r
3 %% Copyright (C) 2013 Texas Instruments Incorporated - %%\r
4 %% %%\r
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\r
6 \chapter{Testing}\r
7 \label{chap:lcpd-tests}\r
8 \r
9 \paragraph{}\r
10 As was discussed in chapter \ref{chap:definition-of-done}, a backlog item \r
11 must be \textbf{tested} and the test code should be \textbf{submitted} to\r
12 system test before we can call the backlog item done.\r
13 \r
14 \section{Test Code}\r
15 \paragraph{}\r
16 LCPD's core-sdk filesystem must be used for kernel testing. LCPD's core-sdk \r
17 image comes with various test-related applications pre-installed:\r
18 \begin{enumerate}\r
19     \item ltp-ddt\r
20     \item iperf\r
21     \item bonnie++ \r
22     \item hdparm\r
23     \item iozone3\r
24     \item lmbench\r
25     \item rt-tests\r
26     \item evtest\r
27     \item libdrm-tests\r
28     \item and others...\r
29 \end{enumerate}\r
30 So users are encouraged to check if there is already a test case or test \r
31 utility available in the core-sdk filesystem before they start developing a new one.\r
32 \r
33 \subsection{Submitting test code}\r
34 \label{sec:sub-test-code}\r
35 \paragraph{}\r
36 The preferred way to submit test code to system test is to submit ltp-ddt patches to\r
37 mailing list.  \r
38 \paragraph{}\r
39 Alternatively, LCPD team members can request help from systest to productize their\r
40 test code by creating a test task (i.e. \textit{add test} functionality) in VersionOne.\r
41 \paragraph{}\r
42 Once a test have been submitted, the systest team will take care of integrating it\r
43 into Opentest.\r
44 \r
45 \subsection{LTP-DDT}\r
46 \label{sec:ltp-ddt}\r
47 \r
48 \subsection{Getting LTP-DDT}\r
49 \paragraph{}\r
50 There are couple of ways to get LTP-DDT sources:\r
51 \begin{enumerate}\r
52     \item Clone it from\r
53     \item Use \textit{ -U} to get it cloned automatically\r
54 \end{enumerate}\r
55 \r
56 \subsection{Creating new LTP-DDT tests}\r
57 \paragraph{}\r
58 The recommended LTP-DDT development flow is to clone ltp-ddt, build and install it\r
59 on a nfs filesystem, so you can quickly check your LTP-DDT changes on a real target.\r
60 You can get a core-sdk filesystem tarball that you can use to setup your nfs at\r
61 \href{}{LCPD core sdk}\r
62 \r
63 \paragraph{}\r
64 Please refer to \href{;a=blob;f=README-DDT#l19}{LTP-DDT README} sections 3 and 4 for detailed information about creating new LTP-DDT tests.\r
65 \r
66 \paragraph{}\r
67 Please refer to \href{;a=blob;f=README-DDT#l163}{LTP-DDT README} sections 6 and 7 for LTP-DDT build instructions.\r
68 \r
69 \subsection{Running LTP-DDT tests}\r
70 \paragraph{}\r
71 Please refer to \href{;a=blob;f=README-DDT;#l223}{LTP-DDT README} section 8.\r
72 \r
73 \section{Test Automation Frameworks}\r
74 \subsection{Opentest}\r
75 \label{sec:Opentest}\r
76 \paragraph{}\r
77 \href{}{Opentest} test automation\r
78 framework is used to manage test plans, test results, test hardware and test \r
79 execution.\r
80 \r
81 \paragraph{}\r
82 You don't need Opentest to develop LTP-DDT test cases. You don't need Opentest \r
83 either to run LTP-DDT tests. However, you will need Opentest if you:\r
84 \begin{enumerate}\r
85   \item want to run tests on boards that you don't have.\r
86   \item want to run complex tests that require test equipment.\r
87   \item want to run testplans defined in Testlink\r
88   \item want to store results in Testlink\r
89   \item want to request multiple test runs and don't want to baby-sit them, you just want to \textbf{Click-and-Forget}\r
90 \end{enumerate}\r
91 \r
92 \subsection{Installing Opentest}\r
93 \paragraph{}\r
94 Check \href{}{Opentest Installation}\r
95 \paragraph{}\r
96 \textbf{IMPORTANT:} Typical LCPD users should not install complete Opentest framework\r
97 in their desktop but instead we recommend just installing Options 2 (Staf) and\r
98 8 (Command Line Tools).\r
99 \r