CS 246: TESTING
Reid Holmes
With content from: Meghan Allen (CS 310 @ UBC) Gail Alverson (CS 403 @ UWashington)
Thursday, 29 November, 12
CS 246: TESTING Reid Holmes With content from: Meghan Allen (CS - - PowerPoint PPT Presentation
CS 246: TESTING Reid Holmes With content from: Meghan Allen (CS 310 @ UBC) Gail Alverson (CS 403 @ UWashington) Thursday, 29 November, 12 LEARNING OUTCOMES Differentiate various testing tactics Understand different levels of testing
With content from: Meghan Allen (CS 310 @ UBC) Gail Alverson (CS 403 @ UWashington)
Thursday, 29 November, 12
Thursday, 29 November, 12
[Pragmatic Programmer]
Thursday, 29 November, 12
[Dijkstra’s law]
Thursday, 29 November, 12
[Dijkstra’s law]
[Dijkstra]
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
[Meghan Allen]
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
XUNIT TEST CASE #include ¡<gtest/gtest.h> // ¡TEST ¡macro ¡identifies ¡tests ¡(Google ¡Test ¡approach) // ¡Annotations ¡or ¡naming ¡conventions ¡often ¡used ¡ TEST(MyTestSuitName, ¡MyTestCaseName) ¡{ ¡ ¡ ¡ ¡int ¡actual ¡= ¡1; ¡ ¡ ¡ ¡EXPECT_GT(actual, ¡0); ¡ ¡ ¡ ¡EXPECT_EQ(1, ¡actual) ¡<< ¡"Should ¡be ¡equal ¡to ¡one"; }
Thursday, 29 November, 12
XUNIT ASSERTIONS
Thursday, 29 November, 12
XUNIT FIXTURES P1 class QueueTest : public ::testing::Test { protected: virtual void SetUp() { q1_.Enqueue(1); q2_.Enqueue(2); q2_.Enqueue(3); } // virtual void TearDown() {} Queue<int> q0_; Queue<int> q1_; Queue<int> q2_; };
Thursday, 29 November, 12
XUNIT FIXTURES P2 class QueueTest : public ::testing::Test { ... // setUp() called before each TEST_F // tearDown() called after each TEST_F TEST_F(QueueTest, IsEmptyInitially) { EXPECT_EQ(0, q0_.size()); } };
Thursday, 29 November, 12
XUNIT RUNNER #include "QueueTest.h" #include "gtest/gtest.h" int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12
[Coverity]
Thursday, 29 November, 12
Thursday, 29 November, 12
Thursday, 29 November, 12