ph ng ph p m h nh ho n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
PHƯƠNG PHÁP MÔ HÌNH HOÁ PowerPoint Presentation
Download Presentation
PHƯƠNG PHÁP MÔ HÌNH HOÁ

Loading in 2 Seconds...

play fullscreen
1 / 25

PHƯƠNG PHÁP MÔ HÌNH HOÁ - PowerPoint PPT Presentation


  • 348 Views
  • Uploaded on

PHƯƠNG PHÁP MÔ HÌNH HOÁ. GVHD: P.GSTS Vũ Thanh Nguyên. MÔ HÌNH PTPM HƯỚNG KIỂM THỬ (TDD) ỨNG DỤNG XÂY DỰNG CMS. Sinh viên thực hiện : Nguyễn Thăng Long – 07520198 Lê Tự Thạch Sinh - 07520302. 1. 2. 3. 3. 4. 4. NỘI DUNG CHÍNH. UNIT TEST. MÔ HÌNH PTPM TDD. CÁC BƯỚC THỰC HIỆN.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'PHƯƠNG PHÁP MÔ HÌNH HOÁ' - blake-yates


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ph ng ph p m h nh ho

PHƯƠNG PHÁP MÔ HÌNH HOÁ

GVHD: P.GSTS VũThanhNguyên

m h nh ptpm h ng ki m th tdd ng d ng x y d ng cms

MÔ HÌNH PTPM HƯỚNG KIỂM THỬ (TDD)ỨNG DỤNG XÂY DỰNG CMS

Sinhviênthựchiện:

NguyễnThăng Long – 07520198

LêTựThạchSinh - 07520302

n i dung ch nh

1

2

3

3

4

4

NỘI DUNG CHÍNH

UNIT TEST

MÔ HÌNH PTPM TDD

CÁC BƯỚC THỰC HIỆN

ứngdụngTDD

1 unit test
1. UNIT TEST

Unit Test làkỹthuậtkiểmnghiệmcáchoạtđộngcủamọi chi tiếtmã (code) vớimộtquytrìnhtáchbiệtvớiquytrìnhpháttriển PM, giúppháthiệnsaisótkịpthời.

2 m h nh ptpm h ng ki m th

Add a test

1

5

2

Refactor

Run it and see it fails

TDD

3

4

Run the test again and see it passes

Write code to cover the test

2. MÔ HÌNH PTPM HƯỚNG KIỂM THỬ
2 m h nh ptpm h ng ki m th1
2. MÔ HÌNH PTPM HƯỚNG KIỂM THỬ

Phát triển dựa trên kiểm thử (Test-Driven Development-TDD) là một phương pháp tiếp cận cải tiến để phát triển phần mềm trong đó kết hợp phương pháp Phát triển kiểm thử trước (Test First Development) và phương pháp Điều chỉnh lại mã nguồn (Refactoring).

3 c c b c th c hi n
3. CÁC BƯỚC THỰC HIỆN

Viết mã cho Unit Test

Xác định yêu cầu

4

Viết Unit Test

1

3

Thực thi Unit Test

2

5

Viết mã CT để thay đổi

Trạng thái của Unit Test

Tạo Test Suite cho Module

Chạy lại Test Suite

6

Hiệu chỉnh mã nguồn

7

8

4 ng d ng tdd
4. ỨNG DỤNG TDD

MODULE QUẢN LÝ TIN TỨC

TRONG HỆ THỐNG CMS

4 1 ph n t ch y u c u
4.1. PHÂN TÍCH YÊU CẦU

Viết mã cho Unit Test

Xác định yêu cầu

Xác định yêu cầu

4

Viết Unit Test

1

1

3

Thực thi Unit Test

2

5

Viết mã CT để thay đổi

Trạng thái của Unit Test

Tạo Test Suite cho Module

Chạy lại Test Suite

6

Hiệu chỉnh mã nguồn

7

8

4 1 ph n t ch
4.1. PHÂN TÍCH

Đăngnhập

Xem tin

<<include>>

<<extend>>

<<include>>

<<include>>

Tìmkiếm tin

Thêm tin

Sửa tin

Xoá tin

Độcgiả

Ngườiquảntrị

4 2 l p test case
4.2. LẬP TEST CASE

Viết mã cho Unit Test

Xác định yêu cầu

4

Viết Unit Test

1

3

3

Thực thi Unit Test

2

2

5

Viết mã CT để thay đổi

Trạng thái của Unit Test

Tạo Test Suite cho Module

Chạy lại Test Suite

6

Hiệu chỉnh mã nguồn

7

8

4 3 vi t m cho unit test
4.3. VIẾT MÃ CHO UNIT TEST

Viết mã cho Unit Test

Viết mã cho Unit Test

Xác định yêu cầu

4

Viết Unit Test

4

1

3

Thực thi Unit Test

2

5

Viết mã CT để thay đổi

Trạng thái của Unit Test

Tạo Test Suite cho Module

Chạy lại Test Suite

6

Hiệu chỉnh mã nguồn

7

8

4 3 vi t m cho unit test1
4.3. VIẾT MÃ CHO UNIT TEST

/* Vídụ: Mộtsốhàmtestchứcnăng login */

// Khôngnhậpdữliệu

public function testNoneInput()

{

// Dữliệunhậpvào

$username = null;

$password = null;

// Hàmkiểmtrakếtquả test (Đúngkhitrảvề false)

$this->assertEquals(false, $this->LPermission->isValid($username, $password));

}

// Khôngnhập Username

public function testNoneUsernameInput()

{

// Dữliệunhậpvào

$username = null;

$password = 'long1234';

// Hàmkiểmtrakếtquả test (Đúngkhitrảvề false)

$this->assertEquals(false, $this->LPermission->isValid($username, $password));

}

4 4 ch y unit test
4.4. CHẠY UNIT TEST

Viết mã cho Unit Test

Xác định yêu cầu

4

Viết Unit Test

1

3

Thực thi Unit Test

Thực thi Unit Test

2

5

Viết mã CT để thay đổi

Trạng thái của Unit Test

5

Tạo Test Suite cho Module

Chạy lại Test Suite

6

Hiệu chỉnh mã nguồn

7

8

4 4 ch y unit test1
4.4. CHẠY UNIT TEST

# Kếtquảkhichạy unit test chochứcnăng Login

Time: 1 second, Memory: 4.25Mb

There were 2 failures:

1) TestsLogin::testNoneInput

Failed asserting that <boolean:false> matches expected <boolean:true>.

D:\www\public_html\krcms\tests\login.php:47

2) TestsLogin::testNoneUsernameInput

Failed asserting that <boolean:false> matches expected <boolean:true>.

D:\www\public_html\krcms\tests\login.php:56

FAILURES!

Tests: 5, Assertions: 5, Failures: 2.

4 4 vi t m cho ch ng tr nh
4.4. VIẾT MÃ CHO CHƯƠNG TRÌNH

Viết mã cho Unit Test

Xác định yêu cầu

4

Viết Unit Test

1

3

Thực thi Unit Test

2

5

Viết mã CT để thay đổi

Trạng thái của Unit Test

Viết mã CT để thay đổi

Trạng thái của Unit Test

Tạo Test Suite cho Module

Chạy lại Test Suite

6

Hiệu chỉnh mã nguồn

6

7

8

4 4 vi t m cho ch ng tr nh1
4.4. VIẾT MÃ CHO CHƯƠNG TRÌNH

class LPermission

{

function isValid($username,$password)

{

global $MySQL,$LSession;

if($LSession->getSession('permission') == true)

{

// Already exist login

return true;

}

else

{

$username = trim($username);

$password = md5($password);

...

}

4 5 ch y l i unit test
4.5. CHẠY LẠI UNIT TEST

Viết mã cho Unit Test

Xác định yêu cầu

4

Viết Unit Test

1

3

Thực thi Unit Test

2

5

Viết mã CT để thay đổi

Trạng thái của Unit Test

Tạo Test Suite cho Module

Chạy lại Test Suite

6

Hiệu chỉnh mã nguồn

Chạy lại Test Suite

7

8

7

4 5 ch y l i unit test1
4.5. CHẠY LẠI UNIT TEST

.....

Time: 1 second, Memory: 4.00Mb

OK (5 tests, 5 assertions)