testdatenmanagement - toolunterstützte bereitstellung von testdaten
DESCRIPTION
Testdatenmanagement - Anforderungen an die Usability am Beispiel eines Case Study aus dem Bereich "Öffentliche Personaldienstleistungen" Automatisierte Erkennung von Relationen und Abhängigkeiten Bereitstellung der Testdaten- plattformübergreifend Zugriff auf Spezialanwendungen auf Hostsystemen Kundenanforderungen, Aufwanfsverteilung,Verwendete Tools,Technischer Ablauf,Standardfunktionen, Integration und AutomationTRANSCRIPT
Testdatenmanagement Toolunterstützte Bereitstellung von Testdaten
Minerva SoftCare GmbH
Lösungshaus für effiziente Softwareentwicklung
Minerva SoftCare GmbH
Expertise | Teamarbeit | Motivation
Was uns ausmacht…
Wir sind spezialisiert auf die Automatisierung und Qualitätssicherungder gesamten Prozesskette der Softwareentwicklung
Unser Ziel ist es die optimale Lösung gemeinsam mit unseren Kunden zuentwickeln auf Basis unserer Werkzeugpalette
Wir sind fokussiert auf die Herausforderungen unserer Kunden undderen Lösung
Unsere Expertise: Langjährige Erfahrung und umfassendes Lösungsspektrum
… der Blick über den Tellerrand
!1
Inhalt
Aktuelle Kundenanforderungen
Aufwandsverteilung
Verwendete Tools
Technischer Ablauf
Standardfunktionen
Integration Automation
© 2014 Minerva SoftCare GmbH !2
Aktuelle Kundenanforderungen
Daten aus verschiedensten operativen Systemen(Datenbanken, Flatfiles, Windows, Linux, HOST)aufbereiten und automatisiert zum Testen bereitstellen
(Automatische) Anonymisierung sensibler Daten
Datengewinnung durch fachliche Selektion vonTestfällen (z.B. nach Personalnummer, Alter, Betrieb,Zugehörigkeiten), Versionierung und Verwaltung
Der tägliche Betrieb muss ohne nennenswerte(Programmier-)Kenntnisse möglich sein
© 2014 Minerva SoftCare GmbH !3
Gewünschte Aufwandsverteilung
Tester Entwickler Administrator
Einrichtung 80 % 10 % 10 %
Änderung 95 % 5 % -
Betrieb 100 % - -
© 2014 Minerva SoftCare GmbH ! 4
Verwendete Tools (Beispiele)
Datenextraktion &-anonymisierung
Verwaltung derRegeln (Programme)
Verwaltung derDatenbestände
Automatisierung &Integration*
© 2014 Minerva SoftCare GmbH !5
Technischer Ablauf
Erfassen der Metadaten (Strukturen) von
Quell- und Zieldaten
Extraktionsregeln erstellen/ändern und
verwalten (Versionierung)
Extraktionsregeln ausführen und Testdaten
bereitstellen/verwalten
(optional) Testautomatisierung im Rahmen
eines Application Lifecycle Managements
!6© 2014 Minerva SoftCare GmbH
Standardfunktionen der Tools
Automatische Erfassung von Metadaten
Automatische Generierung/Ausführung vonExtraktionsprogrammen
Automatische Bereitstellung von Daten zum
Laden inklusive Formatanweisung
Integration mit anderen Tools (bidirektional)
Offene Schnittstellen für ergänzende Anpassung
!7© 2014 Minerva SoftCare GmbH
© 2014 Minerva SoftCare GmbH Seite
Was noch fehlt(e) …
… war die automatische Erkennung und Umsetzung
relationaler Beziehungen bei Datenbankobjekten
… ist die Ausweitung grafisch orientierter Wizards“,
um neue, weiterreichende Funktionen
„anwenderfreundlich“ zu integrieren
!8© 2014 Minerva SoftCare GmbH
!9
Erfassen relationaler Beziehungen
AdventureWorks2012_Person.Person
PF* BusinessEntityID INTEGER* PersonType NCHAR (2)* NameStyle UNKNOWN
Title NVARCHAR (8)* FirstName UNKNOWN
MiddleName UNKNOWN* LastName UNKNOWN
Suffix NVARCHAR (10)* EmailPromotion INTEGER
AdditionalContactInfo XMLDemographics XML
* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_Person_BusinessEntityID (BusinessEntityID)
AK_Person_rowguid (rowguid)IX_Person_LastName_FirstName_MiddleName (LastName, FirstName, MiddleName)PXML_Person_AddContact (AdditionalContactInfo)PXML_Person_Demographics (Demographics)
AdventureWorks2012_Person.BusinessEntityContact
PF* BusinessEntityID INTEGERPF* PersonID INTEGERPF* ContactTypeID INTEGER
* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_BusinessEntityContact_BusinessEntityID_PersonID_ContactTypeID (BusinessEntityID, PersonID, ContactTypeID)
AK_BusinessEntityContact_rowguid (rowguid)IX_BusinessEntityContact_ContactTypeID (ContactTypeID)IX_BusinessEntityContact_PersonID (PersonID)
AdventureWorks2012_Person.BusinessEntity
*P BusinessEntityID INTEGER* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_BusinessEntity_BusinessEntityID (BusinessEntityID)
AK_BusinessEntity_rowguid (rowguid)
AdventureWorks2012_Person.StateProvince
*P StateProvinceID INTEGER* StateProvinceCode NCHAR (3)
F * CountryRegionCode NVARCHAR (3)* IsOnlyStateProvinceFlag UNKNOWN* Name UNKNOWN* TerritoryID INTEGER* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_StateProvince_StateProvinceID (StateProvinceID)
AK_StateProvince_Name (Name)AK_StateProvince_rowguid (rowguid)AK_StateProvince_StateProvinceCode_CountryRegionCode (StateProvinceCode, CountryRegionCode)
AdventureWorks2012_Person.Address
*P AddressID INTEGER* AddressLine1 NVARCHAR (60)
AddressLine2 NVARCHAR (60)* City NVARCHAR (30)
F * StateProvinceID INTEGER* PostalCode NVARCHAR (15)
SpatialLocation UNKNOWN* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_Address_AddressID (AddressID)
AK_Address_rowguid (rowguid)IX_Address_AddressLine1_AddressLine2_City_StateProvinceID_PostalCode (AddressLine1, AddressLine2, City, StateProvinceID, PostalCode)IX_Address_StateProvinceID (StateProvinceID)
AdventureWorks2012_Person.CountryRegion
*P CountryRegionCode NVARCHAR (3)* Name UNKNOWN* ModifiedDate DATETIME
PK_CountryRegion_CountryRegionCode (CountryRegionCode)
AK_CountryRegion_Name (Name)
AdventureWorks2012_Person.PhoneNumberType
*P PhoneNumberTypeID INTEGER* Name UNKNOWN* ModifiedDate DATETIME
PK_PhoneNumberType_PhoneNumberTypeID (PhoneNumberTypeID)
AdventureWorks2012_Person.PersonPhone
PF* BusinessEntityID INTEGERP * PhoneNumber UNKNOWNPF* PhoneNumberTypeID INTEGER
* ModifiedDate DATETIME
PK_PersonPhone_BusinessEntityID_PhoneNumber_PhoneNumberTypeID (BusinessEntityID, PhoneNumber, PhoneNumberTypeID)
IX_PersonPhone_PhoneNumber (PhoneNumber)
AdventureWorks2012_Person.EmailAddress
PF* BusinessEntityID INTEGERP * EmailAddressID INTEGER
EmailAddress NVARCHAR (50)* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_EmailAddress_BusinessEntityID_EmailAddressID (BusinessEntityID, EmailAddressID)
IX_EmailAddress_EmailAddress (EmailAddress)
AdventureWorks2012_Person.BusinessEntityAddress
PF* BusinessEntityID INTEGERPF* AddressID INTEGERPF* AddressTypeID INTEGER
* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_BusinessEntityAddress_BusinessEntityID_AddressID_AddressTypeID (BusinessEntityID, AddressID, AddressTypeID)
AK_BusinessEntityAddress_rowguid (rowguid)IX_BusinessEntityAddress_AddressID (AddressID)IX_BusinessEntityAddress_AddressTypeID (AddressTypeID)
AdventureWorks2012_Person.AddressType
*P AddressTypeID INTEGER* Name UNKNOWN* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_AddressType_AddressTypeID (AddressTypeID)
AK_AddressType_Name (Name)AK_AddressType_rowguid (rowguid)
AdventureWorks2012_Person.ContactType
*P ContactTypeID INTEGER* Name UNKNOWN* ModifiedDate DATETIME
PK_ContactType_ContactTypeID (ContactTypeID)
AK_ContactType_Name (Name)
AdventureWorks2012_Person.Password
PF* BusinessEntityID INTEGER* PasswordHash VARCHAR (128)* PasswordSalt VARCHAR (10)* rowguid UNIQUEIDENTIFIER* ModifiedDate DATETIME
PK_Password_BusinessEntityID (BusinessEntityID)
© 2014 Minerva SoftCare GmbH
Integration & Automation
Diverse Stellen im Ablauf bedürfen der
Automation, um Fehler zu vermeiden
Insbesondere bei der Bedienung durch nicht
-technisches Personal und um Regeltätigkeiten
sauber abzubilden
Frameworks haben das größte Potential für eine
vollständige Integration
1! 0© 2014 Minerva SoftCare GmbH
Integration mit einem ALM
Extraktionsregeln werden direkt aus der Versions-
verwaltung heraus aufgerufenund automatisch ausgeführt
Testdaten werden zusammen mit den zu testenden
Programmen im Testsystem angeliefert
Testabläufe können automatisch gestartet werden
(Smoketests, Regressionstests)
!11© 2014 Minerva SoftCare GmbH
© 2014 Minerva SoftCare GmbH
Lösungshaus für effiziente Softwareentwicklung
Minerva SoftCare GmbHUnterer Dammweg 12
76149 KarlsruheTel.: +49.721.78177.01
!12