Pour tester la base de données, il existe de nombreux outils sur le marché. Outil de test SQL de recherche Google, il a choisi les outils sélectionnés, en regardant l'œil.
Par exemple: Plus de 40 outils de test de base de données: Solutions de test de données populaires Cet article répertorie un total de 43 outils de test, qui peuvent être utilisés pour compléter les tests SQL de CETTING, y compris les données de test de test, les tests fonctionnels, les tests logiques Bien sûr, avez un test de pression.
Il existe ici plusieurs outils pour utiliser le script, vous pouvez l'utiliser directement.
Le système d'application actuel comporte généralement un certain nombre de classes, telles que UI, classe d'accès, classe affaires, base de données. Chaque classe possède son propre outil de test indépendant, les outils suivants peuvent également prendre en charge les tests de 1, 2 couches.
Création de données de test:
Factory de données
Données de la base de données de données d'usine. Les principales caractéristiques sont les suivantes:
1. Création de données
2. Examen de pression
2. Mockupdata
3. Générateur de données DTM
.
]
1. Outil de base de données SQL Server
2. Vérifiez SQL: Utilisez le TSQLT Cadre pour effectuer des contrôles en mode d'affichage, la fonction de procédures et de fonctions est stocké. Utilisez le cadre de test TSQLT pour tester des tests, des procédures et des fonctions stockées
3. TSQLT: dédié à SQL Server
4. Oracle Developer SQL:
5. Nosqlunit:
6.NOSQLMAP:
7. Selite: la combinaison de sélénium et de sqlite, appelée extensions de sélénium
8. SQLMAP: outil open source pour SQLite, MySQL, SQL Server, DB2, PostgreSQL
Outil de test à base de dB:
] 1. HammerDB: Outil open source Pour vérifier la charge de la base de données, utilisé comme outil de référence pour SQL Server , Mysql, db2, oracle. L'avantage de cet outil est qu'il est open source, une source ouverte, une significationVous pouvez absolument voir votre plan de test. En fait, je ne peux pas voir le test du plan de test, en fait, je comprends le rapport de test, qui sont des obstacles, tels que la coordination, les scripts logiques des tests possibles reflètent les exigences de test.
UI Outils avancés: outils intégrés avec une belle interface utilisateur
1. Cet outil n'a pas besoin de dire plus et est fondamentalement un outil nécessaire avec Oracle.
2.DBVISUUALIZER: Top Outils du crapaud, le point le plus utile consiste à générer rapidement le diagramme ER
3. Score standard de base de données: outil open source pour effectuer des tests réels sur la base de données contenant de la base volumes de données. Les options d'affichage et les rapports graphiques sont des fonctionnalités avancées de cet outil. Outil open source, cas de contrôle de configuration visuelle, rapport de test de performance.
Pour MySQL, Oracle, Mariadb:
1. Navicat: Pour MySQL, gère également les données de sServer QL, Oracle, MySQL, SQLite
2. LOADRUNNER pour Oracle:
Trouvez un excellent travail sur le blog de Brent Ozar avec: SQLQuceryStress et open source Open Source. Peut être téléchargé et utilisé à partir de GitHub.
https://www.brentozar.com/archive/2015/5/how-try-fake-loLand-TestS-with-sqlquereryStress
Pour plus, c'est le personnage principal de cet article.
Si vous êtes votre passionné de mobile, je pense que vous aimerez Andriod.
L'iPhone, bien sûr, a également une pièce de théâtre, mais l'App Store est en ligne et l'approbation provoque vraiment des problèmes.
SQLQUERYSSTRESSTRESSE Ceci est identique à l'application sur Andriod et vous pouvez vous utiliser pour jouer, une agence mystérieuse. GitHub est une bibliothèque d'armes lourdes et les alternatives logicielles d'aujourd'hui peuvent être trouvées. Tout le monde a vu la carte de la question, en utilisant une petite collection d'informations sur GitHubed de Instagram.
Premièrement, l'environnement d'essai:
1. Outil d'inspection: sqlquystress
Téléchargez le lien: https: //github.com/erikej / sqlquererystress
2. Vérifiez la SQL Server Server:
Machine virtuelle VMware personnelle, configuration médiocre
Windows Server 2012
RAM 2GB
3 . Diagramme de test:
3.1 Temps de réponse de l'utilisateur: Lire
3.2 Utilisation du serveur CPU
Aujourd'hui est testé pour la CPU.
1. Dans le cas d'une moyenne, le temps de réponse moyen est de 0,4973 secondes. On peut dire que cela peut dire. Mais ceux qui doivent soigneusement faire attention à cela, en fait, ici sont simplement en train de gérer le même SQL, en réfléchissant où ne sont pas assez stricts, où puis-je m'améliorer, où est le nœud?
2. 200 Simultanément, le temps de réponse moyen dépassé les 1s, près de 2s
lorsque cela était dans le même temps, le temps de réponse était incapable d'accepter même si la demande est en cours d'exécution.
Nous avons utilisé le même script dans cette expérience. Après une exécution d'un script, l'emballage exécutable sera stocké, les données correspondantes seront dans la mémoire tampon de la base de données, dans un tel environnement, de telles demandes de requête continues, des demandes d'accès à Quan en permanence, l'évaluation du processeur du serveur n'est pas très stricte, là-bas. L'analyse n'est pas difficile, aucun besoin de récupérer des données du disque de base de données, mais le temps de réponse n'est toujours pas qualifié qualifié.
Si nous utilisons l'horaire total pour randomiser le processus de stockage ne se lit que dans l'ID de flux, la requête est stricte et correcte à la CPU.
Lorsque nous utilisons 10 simultanément, le système n'a aucune pression claire et le temps de réponse est suffisamment rapide.Cette fois, nous effectuons 10 magasins stockés, lorsque 10 appels appellent simultanément les 10 procédés de cette archive, vérifiez le temps de réponse, il est toujours qualifié!
1 avec la base de données AventureWorks,Écrire 10 procédures stockées simples
2 Pour écrire un processus de stockage général de planification, selon leur ID de thème correspondant, le processus de session_id et de personnalisation aléatoire] 10 processus de stockage simples peuvent être créés trop rapidement:
Déclaration @sql_body Nvarchaar (max);
Déclarant My_Cur Pointeur
Choisissez Top 10 'Créer des procédures' + Schema_Id (schema_id) +'.get '+ nom + Nom + "Lors du démarrage" + 'Sélectionnez Count (*) comme CNT à partir de' + schema_name (schema_id) + '.' ' + Nom + 'End' + Char (10) + 'Go'
de SYS. Objet
Dans quel type_desc = 'user_tablee'
Ouvrir My_Cur
.
Fetch Suivant
de my_cur
Go @sql_body
Imprimer @sql_bory
Tandis @ @fetch_status = 0
Démarrer
Fetch. Selon
de my_curGo @sql_body
dans @sql_bydy;
Terminer
FERMÉ MY_CUR
Ballloate My_Cur
]
总 总 调度:
Créer le processus DBO.USP_RANDRUNQUERY @Threads int = 10
est
Début
Déclaration @sql_body Nvarchar (maximum);
Création de la #Templ_procs
Nvarenename Nvarcharenename (max)
, ID INT reçue comme (1, 1)
)
Insérer #Temp_Procs
Sélectionnez le top 10 'Exec' + schema_name (schema_id) + "". + Nom
de Sys.Objects
Commande par Creat_Date Desc
Choisissez @sql_body = la question de la tranquillitéNom de #temp_procs
où id = @@ SPID% @Threads
EXEC SP_EXECUTSQL @stMT = @sql_body ;
Drop #temp_procs
Lorsque 10 flux, différentes procédures stockées sont appelées, la vitesse de réponse reste une vitesse de réponse. Il y a un sommet, mais des centaines
Au cours du processus de mise en œuvre, j'ai constaté que tout était corrigé, il était possible d'appliquer et d'affecter les flux de traitement. Par conséquent, il changera, il est donc nécessaire de faire du vélo à plusieurs reprises afin de garantir à chaque fois que chaque fois que la procédure stockée est appelée, et suffit simultanément pendant le fonctionnement], je suppose que au bout d'un certain temps. Le temps correspondant sera stable.
a donc créé une fonction pour effectuer le temps de mise en œuvre de chaque requête, comme suit:
1 Plus un journal de journal:Créer des tables_log (Exec Bigint Identity (1, 1), Spid Int, Procname Nvarchar (2000), Start_DT DATETIME, ENT_DT DateTime, End_DT DateTime, End_DT DateTime)
[Modifiez notre processus de planification
.
.
. . ] Création du processus DBO.USP_RANDRUNQUERY @Threads int = 10 Démarrage Démarrer . ] Déclarez @execide Bigint Déclaration @sql_body Nvarchar (2000); Créer #temp_procs Nvarchar (12000] , ID INT (1, 1) ) INSERT #TEMP_PROCS . Sélectionnez le top 10 'Exec' + schema_name (schema_id) + '. '+ Nom de Sys.Objects Dans lesquels type_desc = 'sql_stored_procedure' Commande selon Create_Date Desc . Régler l'Identity_Sert #Temp_procs Turn OFF Insérer #Temp_Procs ( ID , QUIERENENNAME ) Choisissez 0 , QUIERENAMAME de #temp_procs dans lequel ID = 6 . Définir l'identité_insert #temp_procs sur . Choisissez @sql_body = Qimurenename de #temp_procs dans lequel ID = @@ SPID% @ Fil% 10 Insérer exécution_log ( , procname . , start_dt Valeur ( @@ SPID , @ SQL_Body , GetutCdate () ) Choisissez @Execid = Scope_Idité () . ] EXEC SP_EXECUTSQL @stMT = @sql_body; Régler End_dt = getCate () dans lequel cadred = @execid; Déglage de la finition du panneau #Templ_procs 果 不 不 料, ajoutez la demande, l'heure correspondante est également stable