C ommunication In embedded softwares, designing a test process that considers how to perform tests in an efficient way, has been an important problem in a whole development process. By the software test, we are to conduct those test cases that verify if actions of multiple functions simultaneously work correctly and to make the ratio of coverage of test cases as much as possible. Covering all the possible test cases, however, is usually impossible or close to it, or requires great amount of costs. As a solution to this, a design method of tests, called the orthogonal array, is known to provide an efficient and well-balanced coverage. In this paper, we give an introductory exposition of the orthogonal arrays. 1 [1] V, CATS Embedded Software Laboratory m M m m [10] 70 90% 90 99% 1
OS Windows Vista Windows XP PowerPoint2003 Word2003 (a Test No. OS 1 Windows Vista PPT2003 2 Windows Vista Word2003 3 Windows XP PPT2003 4 Windows XP Word2003 (b 1: OS (a (b L 4 Test No. OS 1 Windows Vista PPT2003 2 Windows Vista Word2003 3 Windows XP PPT2003 4 Windows XP Word2003 2: 1(b 2.1 2 Power- Point2003 Word2003 PowerPoint2007, Word2007 PowerPoint2000, Word2000 1(a 2 2 2 = 8 100% m 100% 2 L 4 1(b OS= Windows Vista, PPT2003, OS OS 100% 1(b 2 2 2
2 2 7/8 = 87.5% 100% 2.2 S = {0, 1,, s 1}, s N S s [9] S N R t, λ N t (0 t R t λ t, λ A (intensity (index λ (1 λ = N/s t s t S t L 4 (2 3, L 8 (2 7. (a,(b L 4 (N = 4, R = 3, L 8 (N = 8, R = 7 L 4 AB, AC, BC (0, 0, (0, 1, (1, 0, (1, 1 L 8 AB, BC,, FG L 4 L 4 [1] 2.3 F j, j = 1,, J S j S j 1 F j +1 N N J (2 K = 1 + (S j 1 j=1 3
1: (al 4 (b L 8 N (3 N log N K x x (2 S j S (4 K = 1 + (S 1J S = 2 K = 1 + J (2 J J + 1 K F J+1 S J+1 1 S 1 S = 2 3 1 2 (5 J+1C m J C m = J C m 1 J = 32 (m = 2 32 C 1 = 32, (m = 3 32 C 2 = 496 J m 3 N N = S L N (S r N N 3.1 N N = 2 L 4 L 8 L 8 L 16 N 3 {0, 1} A, B (XOR A B (6 A B = Ā B + A B Ā = (A. 1 if A = B = 0 if A B, L 4 L 8 4
2: L 4 L 8 ; (i, (ii, (iii L 4 L 8 D = c = t [0 1 0 1 0 1 0 1] A = a, B = b, C = ab, (i. L 4 1. 4. D = c 1 = 1 2 = 1 E = ac A = a, B = b, C = ab, D = c, E = ac 3 = 2 4 = 2 8 = 4 L 8 A = a, D = c, E = ac (ii. t [0 1 0 1 ] D (iii. 5 E, F, G (A (D = (E (B (D = (F (C (D = (G XOR 2 (i-(iii L 4 L 8 L 8 L 16 L 16 L 32 XOR 2 L 8 a, b, ab a, b ab A = a, B = b, C = ab c = a ac D = c, A = a, E = ac D = c B = b, F = bc c = b bc B = b, F = bc c = b bc D = c, B = b, F = bc 3.2 t = 2 2 L 8 A = a, B = b, C = ab ABC (ABC, D (000, 0, (000, 1,, (110, 1 (ABC, E λ = 1 5
3: L 8 (2 7 4: 4 8 16 6
B = b, C = ab, D = c BCD BCD = 001 (BCD, E, (BCD, F, (BCD, G (001, 1 (BCD, A (001, 0 λ 3.3 3.1, 3.2 4 [7] (a ABC(1/2/3 A B C [8] 3.2 (1,2,3 (4,8,12 16 6 (1,2,3 (4,8,12 (5,10,15 (6,11,13 (7,9,14 N (7 ( + ( 1 + ( 2 + < N N = 4 L 4 (2 3 (8 ( {a, b} 2 + ( {ab} 1 = 3 < 4 L 8 (2 7 (9 ( {a, b, c} 3 + ( {ab, bc, ac} 3 = 3 C 2 + ({abc} 1 = 3 C 3 = 7 < 8 L 16 (2 15 (2 1 3 = 3 ( (b {a, b, c, d} 4 + ( {ab, ac, ad, bc, bd, cd} 6 = 4 C 2 (10 + ({abc, acd, bcd, abd} 4 = (2 1 7 = 7 4 C 3 (c 16 + ({abcd} 1 = 4 C 4 16 15 = 15 < 16 6 L 16 (2 15 3 L 16 (4 5 4 ON 7
5: L 16 (2 15 L 16 (4 5 8
6: L 16 (2 15 L 16 (4 5 9
N (s j,n s j (s i,n s i n=1 r C r 1 r R s j = p r (1/N N n=1 (11 C r = s j,n a r b r s j = s i s. t = 2 t 3 [1]. p r : r a r : r b r : r. (r = 1 (r = 2 100% (r = 3 r 5 N 2 (s j,n, s i,n = {(0, 0, (0, 1,, (s 1, s 1} s 2 λ N (s j,n s(s i,n s n=1 [ ] = λ (0 s(0 s + + (s 1 s(s 1 s s j,n = 0 s 1 [ { } = λ (0 s(0 s + + (0 s(s 1 s + { } ] + (s 1 s(0 s + + (s 1 s(s 1 s. { } (0 s(0 s+ +(0 s(s 1 s 0 { } s j,n = 1,, s 1 { } 0 A [1] Hayst 2007. [2] BP 2005. j s j,n, n = 1,, N j i [3] BP 1994. 10
C ommunication [4] 秋 山 直 交 表 を 活 用 し た ソ フ ト ウェア テ ス ト の 効 率 化 HAYST 法 の 活 用 http://www.swtest.jp/jasst05w/s4-1.pdf, JaSST 05, 2005. [5] 山本 秋山 直交表を利用したソフトウェアテス ト HAYST 法 JaSST 04, 2004. [6] 高 橋 他 組 合 わ せ テ ス ト を 用 い た ソ フ ト ウェア テ ス ト と そ の 限 界 http://www.juse.or.jp/software/pdf/ 22 spc/5/5 2 1 report.pdf [7] 田口 小西 直交表による実験のわりつけ方 例題と演習 日科技連出版 1959. [8] 渡辺 組込みソフトウェア開発課題への挑戦 網 羅度, キャッツ株式会社 資料, 2009. [9] A. S. Hedayat, N. J. A. Sloane and J. Stuflen, Orthogonal Arrays: Theory and Applications, Springer, 1999. [10] D. R. Kuhn and D. R. Wallace, A. M. Gallo. Software Fault Interactions and Implications for Software Testing, IEEE Trans. Software Eng., vol. 30, pp.418-421, 2004. 川崎 秀二 1991 年 電気通信大学 電気 通信 通信工 卒 1993 年慶 大 理工 電気 修士 1996 年 慶大 理工 数理 単位取得退 学 博士 工学 日本数学 会会員 現在 キャッツ株式会社 組込みソフトウェ ア研究所 研究員 11 Copyright CATS 2009 [2009 年 6 月 24 日]