Download presentation
Presentation is loading. Please wait.
Published byMerilyn Gray Modified over 9 years ago
1
VSTS 와 함께하는 소프트웨어 품질 보장 및 테스팅 기법 Kim Sung sung21k@gmail.comhttp://blog.naver.com/skim21c Samsung Electronics
2
10/25/2015 Devpia A&D EVA 2 Agenda SW Quality Software Development Life Cycle Test Design Test Process Unit Test Load Test Visual Studio Team System Testing with VSTS Testing Demo
3
10/25/2015 Devpia A&D EVA 3 SW Quality? What’s the SW Quality? Reliability Functionality Safety Ease of Use Economy Satisfaction ???
4
10/25/2015 Devpia A&D EVA 4 SW Quality? - 설치 후 기능이 정상적으로 동작하지 않는다. - 기능 추가를 하려고 했더니 많은 곳에서 에러가 난다. - 사용자 정보가 해킹 당했다. - 서버가 바이러스에 감염되었다. - 설치가 너무 어렵다. - 사용하기가 너무 어렵다. - 시스템을 사용하는데 너무 느리다.
5
10/25/2015 Devpia A&D EVA 5 Factors for Customer Satisfaction Requirements are met On Time Delivery With in Budget Technical Support High Quality Product Customer Engineer Installer
6
10/25/2015 Devpia A&D EVA 6 SW Development Factors 프로세스 기술인적자원 ProductSystemService 품질 향상 생산성 향상
7
10/25/2015 Devpia A&D EVA 7 Requirements Requirements : 37% 성공적이지 못한 소프트웨어 프로젝트 요 인
8
10/25/2015 Devpia A&D EVA 8 Code Requirements Design Test Case SW Requirements Traceability
9
10/25/2015 Devpia A&D EVA 9 Requirements 결함 추가 및 발견 시기에 따른 평균 해결 비 용 발견된 시기 발견된 시기 추가된 시기 요구사항아키텍쳐구현테스트출시 요구사항135-101010-100 아키텍쳐-1101525-100 구현--11010-25
10
10/25/2015 Devpia A&D EVA 10 Requirements “ 요구사항은 테스트 가능해야 한다.” Requirement Verification Test Case A Test Case B Requirement 1 Requirement 2 Requirement 3 Requirement 4 Requirement 5 Tested Untested
11
10/25/2015 Devpia A&D EVA 11 Architecture Domain Layer Infrastructure Layer Application Layer ProtocolGenerator ProtocolParser LoggerSender ReceiverCommManager ObjectFactoryDAO Application ConfigManager GUI Layer GUI Security ThreadManager Component & Layer Architecture
12
10/25/2015 Devpia A&D EVA 12 Architecture Interface Design Domain Layer, Infrastructure Layer Application ISender IReceiver IProtocolGenerator IProtocolParser ILogger
13
10/25/2015 Devpia A&D EVA 13 Architecture Configurable Architecture Domain Layer Infrastructure Layer Application Layer ProtocolGenerator ProtocolParser LoggerSender ReceiverCommManager ObjectFactoryDAO Application ConfigManager GUI Layer GUI Security ThreadManager
14
10/25/2015 Devpia A&D EVA 14 Implements program fault Code Inspection, Unit Test error failure Execution(testing) debugging error, fault, failure?
15
10/25/2015 Devpia A&D EVA 15 Test Design Function1 Function2 Function1 Function2 Component 1 Component 2
16
10/25/2015 Devpia A&D EVA 16 Test Design Function1 Function2 Component DB Network
17
10/25/2015 Devpia A&D EVA 17 Test Design Function1 Function2 Component DB Network
18
10/25/2015 Devpia A&D EVA 18 Test Design Component Mock Object (Network) Factory Framework Configuration I
19
10/25/2015 Devpia A&D EVA 19 Test Design Test Class1 Test Class2 Control Class1 Control Class2 ISender MockSenderSender Factory Unit Test Integration Test Network
20
10/25/2015 Devpia A&D EVA 20 Test Design public interface ISender { byte[] sendData(byte[] data); byte[] sendData(byte[] data);} public class Sender : ISender { public byte[] sendData(byte[] data) public byte[] sendData(byte[] data) { byte[] receiveData = null; byte[] receiveData = null; // Send Data // Send Data // receive Data // receive Data return receiveData; return receiveData; } }} public class MockSender : ISender { public byte[] sendData(byte[] data) { byte[] MockData = null; byte[] MockData = null; // Make MockData // Make MockData return MockData; return MockData; }}
21
10/25/2015 Devpia A&D EVA 21 Test Design public class SenderFactory { public ISender getInstance(int i) { ISender net; ISender net; if (i == 0) if (i == 0) { net = new MockSender(); net = new MockSender(); } else else { net = new Sender(); net = new Sender(); } } return net; return net;}}
22
10/25/2015 Devpia A&D EVA 22 Test Design class ControlDevice { int controlDoor(byte[] key) { SenderFactory factory = new SenderFactory(); SenderFactory factory = new SenderFactory(); ISender sender; ISender sender; sender = factory.getInstance(config.Status); sender = factory.getInstance(config.Status); byte[] result = sender.sendData(key); byte[] result = sender.sendData(key); return 1; return 1;}}
23
10/25/2015 Devpia A&D EVA Refactoring Test Design Legacy Code1 RefactoringCode1 Legacy Code2 RefactoringCode2 RefactoringCode3 RefactoringCode4 RefactoringCode5 UI Legacy System Refactoring
24
10/25/2015 Devpia A&D EVA 24 Process Analysis & Design Coding Testing Test Plan Test Case Unit Test IntegrationTestSystemTest AcceptanceTestInstallationTestPerformanceTestStressTest
25
10/25/2015 Devpia A&D EVA 25 Test Process Test Design Specification Or Software SelectionCriteria Test Models Test Cases Test Case Design ApplicationModeling
26
10/25/2015 Devpia A&D EVA 26 Test Process Test Execution and Evaluation TestOracle Software Under Test Test Results Test Cases TestExecutionTestEvaluation
27
10/25/2015 Devpia A&D EVA 27 Test Process Test Planning Test Case Generation Test environment development Execution Test results evaluation Problem reporting / Test log Defect tracking Test module Development
28
10/25/2015 Devpia A&D EVA 28 What Makes Testing So Difficult? - Inherent Complexity of software - ill defined test base - Constructing an operational environment for testing purpose - Intractable nature of testing - No royal road for testing - Idiosyncrasy of software - Software continuously evolves - Testing under pressure - Lake of test mind
29
10/25/2015 Devpia A&D EVA 29 Testing 소프트웨어 개발 비용 Specification11% Design11% Coding13% Testing & Maintenance65%
30
10/25/2015 Devpia A&D EVA 30 Unit Test Unit Test 란 ? 소프트웨어 개발 시 하나의 소프트웨어 모듈이 정상적으로 기능을 수행하는지 여부를 최소 수준의 소스코드를 대상으로 시험하고 추가나 변경이 기존 소스의 영향을 찾아 개발, 추가, 변경 시 조기에 소프트웨어 버그를 찾아 수정한다.
31
10/25/2015 Devpia A&D EVA 31 Regression Test Unit Test Regression Test Unit Test Regression Test Integration Test
32
10/25/2015 Devpia A&D EVA 32 Black Box & White Box Test Selectedinputs Black Box Testing Resultantoutputs Desiredoutput SelectedinputsResultantoutputs Desiredoutput White Box Testing InternalbehaviorSoftwaredesign
33
10/25/2015 Devpia A&D EVA 33 Black Box & White Box Test Specification, Program and Test Cases Specification Test Case Program
34
10/25/2015 Devpia A&D EVA 34 Unit Test Specification Base Test (Black Box Test) Specification Base Test (Black Box Test) - Partition Testing - Partition Testing - Boundary Value Testing - Boundary Value Testing - Random Testing - Random Testing Code Base Test (White Box Test) Code Base Test (White Box Test) - Statement Testing - Statement Testing - Branch Testing - Branch Testing
35
10/25/2015 Devpia A&D EVA 35 Partition Testing domain selection
36
10/25/2015 Devpia A&D EVA 36 Boundary Value Testing invalid a b validinvalid minmin+nommax+maxmin-max+
37
10/25/2015 Devpia A&D EVA 37 Random Testing selection selection
38
10/25/2015 Devpia A&D EVA 38 Statement Testing
39
10/25/2015 Devpia A&D EVA 39 Branch Testing a b d c
40
10/25/2015 Devpia A&D EVA 40 Load Test 목적 목적 - Application 의 병목 구간을 찾아 튜닝 ( 단위 성능 시험 ) - Application 의 병목 구간을 찾아 튜닝 ( 단위 성능 시험 ) - 목표성능에 부합 여부 판단 ( 통합 성능 시험 ) - 목표성능에 부합 여부 판단 ( 통합 성능 시험 ) - 임계 성능 측정을 통한 서버 용량 산정 및 확장 계 획 ( 임계 성능 시험 ) - 임계 성능 측정을 통한 서버 용량 산정 및 확장 계 획 ( 임계 성능 시험 )
41
10/25/2015 Devpia A&D EVA 41 Concept for Load Test - Named User, Concurrent User - Named User, Concurrent User - Load : Peak Load, Heavy Load, Average Load - Load : Peak Load, Heavy Load, Average Load - Response Time : Round Trip Time, Processing Time, Queuing Time - Response Time : Round Trip Time, Processing Time, Queuing Time - Think Time - Think Time - Request Interval - Request Interval - Throughput : TPS, TPM - Throughput : TPS, TPM
42
Named User Concurrent User 10/25/2015 Devpia A&D EVA 42 User and Request Interval 비접속자 대기자사용자 Request Response Response Time Think Time Request Interval
43
10/25/2015 Devpia A&D EVA 43 Throughput Throughput (TPS) User Count (Think Time = 0) 임계점 임계 사용자 수 저부하 구간 고부하 구간 경합 구간
44
10/25/2015 Devpia A&D EVA 44 Response Time and TPS Throughput (TPS) Concurrent User 최대 허용 동시 사용자
45
10/25/2015 Devpia A&D EVA 45 Kind of Performance Testing 목적 목적 - 단위 성능 시험 : 개개 업무의 최대 성능을 산출 - 단위 성능 시험 : 개개 업무의 최대 성능을 산출 - 통합 성능 시험 : 업무 가중치와 부하 시나리오를 이용한 시험 - 통합 성능 시험 : 업무 가중치와 부하 시나리오를 이용한 시험 - 임계 성능 시험 : 시스템이 발휘할 수 있는 최대 성능 측정 - 임계 성능 시험 : 시스템이 발휘할 수 있는 최대 성능 측정 임계 성능 비율 = 호출빈도 (Log 분석 )/ 임계 TPS ( 단위성능시험 ) 단위 APP 별 TPS = 전체 TPS × 단위 App 별 업무 가중치 단위 APP 별 TPS = 전체 TPS ( 가중치 100%)
46
10/25/2015 Devpia A&D EVA 46 Kind of Performance Testing 방법 - Loop Back 시험 : Loop Back Code 를 추가하여 시험 - Loop Back 시험 : Loop Back Code 를 추가하여 시험 - Tier 시험 : Tier 간의 통신을 재현하여 측정 - Tier 시험 : Tier 간의 통신을 재현하여 측정 - Spike 시험 : 동시 사용자가 동시에 Transaction 을 발생. - Spike 시험 : 동시 사용자가 동시에 Transaction 을 발생. - Extensibility 시험 : 시스템 증설에 대한 성능 향상 비율 측정. - Extensibility 시험 : 시스템 증설에 대한 성능 향상 비율 측정. - Availability 시험 : Long run - Availability 시험 : Long run 성능확장 계수 ( 시스템 확장과 성능과의 관계 ) = 성능 확장 비율 / 시스템 확장 비율 = 성능 확장 비율 / 시스템 확장 비율
47
10/25/2015 Devpia A&D EVA 47 Visual Studio Team System
48
10/25/2015 Devpia A&D EVA 48 Static Analysis
49
10/25/2015 Devpia A&D EVA 49 Static Analysis
50
10/25/2015 Devpia A&D EVA 50 Code Coverage
51
10/25/2015 Devpia A&D EVA 51 Test Types VSTS 에서 제공되는 테스트 VSTS 에서 제공되는 테스트 - Unit Test - Unit Test - Manual Test - Manual Test - Generic Test - Generic Test - Web Test - Web Test - Load Test - Load Test - Ordered Test - Ordered Test
52
10/25/2015 Devpia A&D EVA 52 Unit Test Method
53
10/25/2015 Devpia A&D EVA 53 Unit Test Results
54
10/25/2015 Devpia A&D EVA 54 Unit Testing With VSTS Unit Testing Demo
55
10/25/2015 Devpia A&D EVA 55 Generic Test Method
56
10/25/2015 Devpia A&D EVA 56 Generic Testing With VSTS Generic Testing Demo
57
10/25/2015 Devpia A&D EVA 57 Web Test Method
58
10/25/2015 Devpia A&D EVA 58 Web Test Verify Rules 유효성 검사 규칙 유효성 검사 규칙 - 텍스트 검색 : - 텍스트 검색 : 응답이 특정 텍스트를 포함하고 있는지를 ( 또는 포함하지 않는 지를 ) 검사, 정규식 및 대소문자 구분을 지원 응답이 특정 텍스트를 포함하고 있는지를 ( 또는 포함하지 않는 지를 ) 검사, 정규식 및 대소문자 구분을 지원 - 최대 요청 시간 : - 최대 요청 시간 : 지정된 시간 이내에 응답을 받았는지를 검증 지정된 시간 이내에 응답을 받았는지를 검증 - 필요한 특성 값 : - 필요한 특성 값 : 태그의 특성이 특정 값인지 검증, 대소문자 구분을 지원 태그의 특성이 특정 값인지 검증, 대소문자 구분을 지원 - 필요한 태그 : - 필요한 태그 : 특정 태그가 존재하는지 검증 ; 최소 발생 값도 지원 특정 태그가 존재하는지 검증 ; 최소 발생 값도 지원
59
10/25/2015 Devpia A&D EVA 59 Web Test Verify
60
10/25/2015 Devpia A&D EVA 60 Web Test Verify
61
10/25/2015 Devpia A&D EVA 61 Web Testing With VSTS Web Testing Demo
62
10/25/2015 Devpia A&D EVA 62 Load Test Method
63
10/25/2015 Devpia A&D EVA 63 Load Test Method
64
10/25/2015 Devpia A&D EVA 64 Load Testing With VSTS Load Testing Demo
65
10/25/2015 Devpia A&D EVA 65 Reference - Microsoft, CODE COMPLETE Second Edition, 2004 - WILEY, PATTERN-ORIENTED SOFTWARE ARCHITECTURE Vol1, 1996 - http://www.microsoft.com/korea/eseminar/default.aspx?CateID=7 - http://msdn2.microsoft.com/en-us/teamsystem/default.aspx - Microsoft, VISUAL STUDIO 2005 TEAM SYSTEM, 2005
66
10/25/2015 Devpia A&D EVA 66 감사합니다.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.