35
Тестирование в Microsoft SQL Server Катерина Симонова Разработчик отдела тестирования Microsoft SQL Server Redmond, WA, USA

Katerina Simonova CSEDays

  • Upload
    lilosea

  • View
    428

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Citation preview

SQL Server Engine

Microsoft SQL Server Microsoft SQL ServerRedmond, WA, USA

Microsoft SQL Server Microsoft SQL Server 2MS SQL Server MS SQL Server OracleIBM DB2MySQLhttp://www.microsoft.com/sqlserver/en/us/product-info/competitor-compare.aspx Relational DB: what is it, small example on bank3 MS SQL Server~1200 :SQL Engine (~250 )Data Programmability & ManageabilityBusiness IntelligenceData Warehousing (Central Services) SDET Software Development Engineerin TestPM Program ManagerSDE Software Development Engineer SDE SDET ~ 1:1

SDET, importance of SDET, : lead vs IC, culture: diversity, non-discremenation: age \ gender \ raceMotivation: interesting projects, training 5% time (1 week), , performance reviews, peer reviewsCareer growth opportunities: lead vs IC. Interested in senior Ics.5SQL Server engineLanguage Processing(Parse/Bind, Statement/Batch Execution)Query Optimization(Plan Generation, Statistics, Costing)Query Execution(Query Operators, Memory Grants, Parallelism)Storage Engine (Access Methods, Database Page Cache, Locking, Transactions, )SQLOS (Schedulers, Buffer Pool, Memory Management, Synchronization Primitives)Utilities (DBCC, Backup/Restore, BCP, ) SDET Lead vs. Individual ContributorSenior SDET (Test architect, ) (~5% ~ 1 ) Performance reviewsPeer reviews - diversity ?

? SDET : Service Packs \ Cumulative Updates : Virtual Team , . leap year problem Virtual Teams, 9 (Functional) (Stress) (Performance and scalability) SQL Dumper AutoVerify

CREATE TABLE table INSERT INTO table CREATE CLUSTERED INDEX index ON table - DBCC CHECKDB DROP INDEX index -DROP TABLE table

: pipelineCreate Index -Insert Create TableDiff resultsDBCCAuto FileSchemaData GenCluster \ Non-cluster, Column15Each step is replaced by a generic component. We are yet to instantiate this.Model based testing , Branches \ Builds , Transaction operations: begin tran, commit, rollback, savepoint etc.DDLDML pre-conditions ... + + - - (code coverage) + - - (learning curve)-

(Supportability) , DMVs Catalog Views \ System Tables \ stored proceduresServer log (ERRORLOG)Memory dumpsWindows Event logXEvents \ SQL Trace events (testability hooks) \ \ server crash trace flags / CSS

Trace flagsXEventsSQL Extended Events , SQL Server 2008 Synchronous TargetSleepAbort threadAbort transactionKill serverAssociate callback functionXEvents XEvents Xevent - XEvents 2-phase commit 1 2 1. !1. !2. !2. !3. Commit3. Commit XEvents 1 2 1. 1. 3. Rollback3. Rollback2. 2. XEvent -> Kill Server Stackhasher stack traceSimulated exceptionsOut-of-resource errorsInterrupts (control-C)Fuzzing Programming interfacesSQL statementsFile formatsNetwork protocols

(Central services),

: OS \ SQL Version: Branch \ Build Test store : \ SQL Server

Health monitorAutoVerify: Central services 29

AutoVerify (file bug) Call Stack , -

AutoVerify asserts \ AVs , -, 3 ~267 000 ; ~16 000 ; ~30 000 -~50% ~90% - SQL Dumper (Access Violation) assert (*.mdmp) , offline- Microsoft Watson ( ) , ! -, , University of Vermont, MS in Computer ScienceC 2007 Microsoft, SDET SQL Serveremail: [email protected]