D'où l'expérience de la base de données? Plus important encore, une expérience pratique réelle, au lieu du projet d'eau de 30 organisations de formation à flux. Certaines organisations de formation sont toujours tout à fait une AI, avec un enseignant à part entière, un conseiller. Le projet est équipé d'un véritable projet de la société.
Très peu de projets peuvent réellement faire débutant, si vous l'obtenez, respectez. Si vous n'avez pas d'expérience, ne vous découragez pas, la musique est surmontée, la méthode est toujours présente, par exemple, vous pouvez commencer à partir du test de base de données.
Vérifiez la base de données, fournissant des outsiders L'interface est très simple, l'interface ponctuelle, parfois la maquette manuelle, puis comparez les données. Mais la situation actuelle peut être beaucoup plus compliquée que votre imagination.
Dans la colonne, consultez la base de données:
On estime que beaucoup d'amis seront ignorés, peuvent être plus faciles que l'écriture SQL. Oui, le développement n'a pas besoin de connaître ces choses, alors ils ont développéSans aucune capacité de base de données, de pression et de performance, haute disponibilité et cela est exactement nécessaire de considérer réel.
Si vous ne considérez pas la capacité, lorsque vous exécutez la base de données, vous avez préparé l'espace disque dur, prêt à acheter des disques durs? La base de données a été utilisée pour des tours et des virages, mais la configuration matérielle existante, la configuration des paramètres, peut résister à chaque seconde, ne sait pas, le système est officiel, il va cracer Versa?
Toutes ces choses doivent vérifier lorsqu'un testeur n'est pas plus facile que le développement.
et des phases de pré-test, en plus de rédiger des codes de test tels que le développement, il existe un ensemble de systèmes de test qui vous attendent, utilisez-le pour mesurer le logiciel de la partie B. Par exemple: ]
De sorte que certains étudiants se demanderont, voir que ces contenus sont très difficiles à développer, de plus en plus de confiance, à comprendre les données de base. Ne vous inquiétez pas, créez une série de tests dans SQLServeur à travers une démo réaliste.
Avant la démo, la première fois que je pose le logiciel utilisé pour effectuer, que tout le monde suive:Server Windows Server 2019SQLBelbelite
Trois logiciels
Trois logiciels doivent être facturés. Ils ont donc tous un temps libre et leurs sites Web officiels correspondants fournissent des téléchargements.Et ici, le logiciel le plus important est SQLTOOLBelitages, Redgate, Louange!
Outre le kit de test, il existe de nombreuses autres caractéristiques importantes, telles que des différences dans des ensembles de données comparables, des différences par rapport aux schémas, etc. Ceci est très efficace pour les filles / garçons etl.
Nous parlons donc des étapes de test:Table Jiancai construite SP (Signification Procédure stockée: Procédure stockée) Test de test Test de test Test de test
Jian Bibliothèque - Jian Table - Code SP est aussi Suit:
La section de test vaut la peine d'écrire en écrivant:
Lorsque nous avons installé SQLToolBeltessentials, vous verrez ces boutons dans la barre d'outils:
CREATE TABLE [dbo].[workflow]( [flowid] [INT] NULL, [flowamount] [INT] NULL, [flowcount] [INT] NULL) ON [PRIMARY]GOWITH L0AS (SELECT * FROM ( VALUES (1), (2), (3) ) AS T (C) ), L1AS (SELECT a.C, b.C AS BC FROM L0 AS a CROSS JOIN L0 AS b), L2AS (SELECT a.C, b.C AS BC FROM L1 AS a CROSS JOIN L1 AS b), L3AS (SELECT a.C, b.C AS BC FROM L2 AS a CROSS JOIN L2 AS b), L4AS (SELECT a.C, b.C AS BC FROM L3 AS a CROSS JOIN L3 AS b), L5AS (SELECT a.C, b.C AS BC FROM L4 AS a CROSS JOIN L4 AS b)INSERT INTO dbo.workflow( flowid, flowamount, flowcount)SELECT TOP 50000 RNK, RNK * 10, RNK + 20FROM(SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS RNK FROM L5) M;GO CREATE PROCEDURE dbo.workflowAddUpdate @flowid int , @flowamount int , @flowcount int = 1 AS BEGIN IF EXISTS(SELECT TOP 1 1 FROM dbo.workflow WITH(NOLOCK) WHERE flowid = @flowid ) BEGIN UPDATE workflow SET flowamount = @flowamount ,flowcount= @flowcount WHERE flowid = @flowid END ELSE BEGIN INSERT INTO dbo.workflow ( flowid, flowamount, flowcount ) VALUES ( @flowid, -- flowid - int @flowamount, -- flowamount - int @flowcount -- flowcount - int ) END END GO
Le caractère principal est aujourd'hui le test SQL. Il s'agit d'une référence au cadre de test qui est la TSQLT, open source.
Ouvrir le test SQL Sélectionnez la base de données que vous devez vérifier, la TSQLT installera automatiquement certaines tables, des procédures stockées. Par conséquent, je ne devrais pas installer SQLToolBelections dans l'environnement de production.
Avec SQLCOP installé SQLCOP, il comprend une variété d'essais conçus pour les propriétés de base de données, peut-être un trésor. Il vérifie le caractère raisonnable de la configuration de la base de données, la précision de la configuration des paramètres de performance et des paramètres de sécurité des services de base de données. Les débutants peuvent apprendre plus de connaissances intéressantes du noyau.
SQLCOP n'exécute pas le code de l'utilisateur, cela n'affecte pas la couverture de test.
Il est très important ici pour la couverture de test, avec
À ce stade, une seule table et une procédure sont stockées dans la base de données, nous devons lui fournir le processus de stockage écrit le boîtier de test, le programme de test que le test ne fonctionne pas correctement. Par conséquent, il est nécessaire d'ajouter un groupe de test FactoryTest:
nom de test, nom de test, tel que Factory_workflow_insert, indiquant que l'opération Insérer est cochée sur les travaux de processus sur la table: ] Le cadre nous aidera à créer automatiquement une procédure de test, [FactoryTest]. [Test Factory_workflow_insert]:
Quelle est la seule chose à faire est d'être évaluée? À ce stade, à ce stade, à ce stade, à ce stade, ce test a échoué:
À ce stade, il y a un cas de test, vous pouvez commencer à tester, cliquez sur le test de test,FactoryTest et SQLCOP exécutera:
S'il n'y a pas de problème de syntaxe, le cas de test est écritO FactoryTest fonctionnera avec succès et SQLCOP nous aidera à mettre la configuration ou les erreurs déraisonnables. SQLCOP concerne le catalogue DBA et n'en parle pas d'abord, d'abord, assurance d'assurance.
C'est le rapport de couverture de test. DBO.WORKFLOWADDUPDATE est le processus stocké pour vérifier, vous pouvez voir 3 ports de test et notre cas de test (paramètres) uniquement vérifier 2 parties, la zone d'enregistrement est de 66,67. Les autres ne sont pas mesurés, alors si vous ne pouvez pas le dire, les nouveaux paramètres sont passés, il y aura une erreur.
Tests SQL forts ici, nous écrivons des cas de test, mesurons toutes les branches, nous aidera à voir le vert:
USE [factory]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- Comments here are associated with the test.-- For test case examples, see: http://tsqlt.org/user-guide/tsqlt-tutorial/ALTER PROCEDURE [factorytest].[test factory_workflow_insert]ASBEGIN --Assemble -- This section is for code that sets up the environment. It often -- contains calls to methods such as tSQLt.FakeTable and tSQLt.SpyProcedure -- along with INSERTs of relevant data. -- For more information, see http://tsqlt.org/user-guide/isolating-dependencies/ DECLARE @flowid INT = 1, @flowamount INT = 100 --Act -- Execute the code under test like a stored procedure, function or view -- and capture the results in variables or tables. EXEC dbo.workflowAddUpdate @flowid = @flowid, @flowamount = @flowamount --Assert -- Compare the expected and actual values, or call tSQLt.Fail in an IF statement. -- Available Asserts: tSQLt.AssertEquals, tSQLt.AssertEqualsString, tSQLt.AssertEqualsTable -- For a complete list, see: http://tsqlt.org/user-guide/assertions/ IF NOT EXISTS(SELECT TOP 1 1 FROM dbo.workflow WITH(NOLOCK) WHERE flowid = @flowid) BEGIN EXEC tSQLt.Fail 'TODO:Implement this test.' END END;
Ce message est donné à partir de diagrammes et d'insertions ne finira pas. En raison de données d'initialisation antérieures, Flowid = 1 a été insérée, le premier cas de test, vient de recevoir la première branche, la deuxième branche ne va pas. Pour ce faire, nous devons construire un cas de test et pourIl retourne à une autre branche.
Exécution du test en regardant le rapport, la couverture de test est de 100%, l'autre code est également vert:
. L'exemple de contrôle de la base de données complète a pris fin.