This is part 1 of 2. In part 1 I characterize what is meant by "database application". I also quickly review some different types of regression testing, and then describe a hypothetical retail inventory example system which will serve as the subject of detailed discussion. In part 2, I explore the "final table" type of regression test in detail, and apply it to our retail inventory system. I conclude with an argument for why "final table" testing should always be included on your project.
Database Applications
Here, a database application means a software system that uses an RDBMS as its primary persistence mechanism. In other words, a database application is built on top of, and around, a relational database. The application logic might be implemented within the database itself, in the form of stored procedures and other database objects, or it might be implemented outside the database in a general purpose programming language such as Java or .NET. It’s quite common that Big Enterprise sytems are implemented using a layered mixture of different programming technologies. Another characteristic of database applications is that the application data, in the database, is the primary window through which the application teams (developers and admins) monitor the health of the system and evaluate the correctness of the results.
Regression testing is a well established technique to help ensure the quality of software systems. The intent of regression testing is to assure that a change, such as a bugfix, did not introduce new bugs. At its most basic level a regression test reruns a function that used to work and verifies that it still produces the same results. The basic elements of a regression test are:
- a function to test. The function must have identifiable inputs and outputs. Function here is meant in the broadest possible sense. It could represent a database stored procedure, a Java method, an RDBMS View, or a high level shell script job that choreographs other jobs. Any software artifact that is callable or invocable.
- a predetermined, capturable (i.e. saveable), input data.
- a predetermined, capturable, expected output data for the above input data.
- an actual output, which results from applying the latest revision of the function to the input data above.
- a means for comparing the expected output with the actual output to determine if they are the same or if they are different in a way that is expected.
Regression testing can be applied at many different levels. Applied at the lowest, most primitive, level it is called a "Unit Test". Unit testing applies a laser focus on one low level functional unit. Unit tests are very popular amongst the general purpose programming language communities, such as Java and Python. Testing above the Unit level is generally referred to as functional testing. Again, functional testing can ocurr at different levels. It can test software modules that compose the lowest level operational units into higher level functions. Here, I call a high-level functional module that implements one complete business function a slice. At the top of the testing hierarchy is the system test. The system test exercises the fully integrated, end-to-end, system at the highest possible level. It touches all functions and modules. This usually corresponds to the same level at which the users experience the system.
A Concrete Database Application Example
For the sake of better illustrating the concepts and techniques in this article, I’ll invent a hypothetical database application called the "Automated Inventory Replenishment" system — AIR. The AIR system is maintained by a midsized enterprise that is in the retail sales business. Every day, the business sells a portion of its inventory (stock) and must decide how to restock the store shelves. The AIR system is highly streamlined and simplified, in order to allow focus on just the salient points. The enterprise performs the restocking only once per day, after all of the stores have closed. As a result, AIR is run once per day, well after the close of business. AIR is run in a batch mode-- a single invocation of the system performs a complete, daily, restocking cycle.
Figure 1. shows the complete AIR system.

Figure 1: System
There are many different functional modules, or slices, needed to complete the entire cycle. The inputs are: the current level of inventory for each product, pricing and availability for all products we might want to purchase, and a listing of all available unoccupied shelf space. AIR must determine which product orders to place in order to fill all of the unoccupied shelf space. So the outputs are simply a list of product orders (SKUs and quantities). The outputs are stored in a single table in the database, which is referred to as the "final table" because it is the end (terminal) of a chain of tables used during processing. One of the slices, the "Forecast Slice", is exploded in detail in Figure 2:

Figure 2: Forecast slice
The forecast slice is responsible for guessing how much of each product will be needed (or wanted) for the next business week. These forecast results are one of many importantant inputs to the final ordering function. The final ordering determination has to include not just forecast information, but also price and availability. The forecast slice is implemented as a Java function (method), a DB stored procedure, and a collection of tables and views. Java was chosen for the detailed forecast business logic, because the calculations and flow control are very complicated and better suited for a general purpose programming language than for an embedded database procedural language (e.g. pl/sql). The Java method calls the stored procedure getProductList(), which returns a complete list of all products that we might want to forecast for. The Java forecast method writes all of the forecasts (results) to a table.
Suppose I’m the project manager for the AIR system, and it has been in production for several years. Let’s also suppose that new functional and operational requirements are fed to team AIR on a regular basis. My team is working on changing the system in order to provide new business functionality. But before I can release these changes into the production environment, I have to be confident that we are not breaking something that already works. Let’s suppose that the current level of operational integrity of AIR is fair; then, even minor bugs introduced as a result of change could very well cause noticeable degradation of operational integrity for AIR, and appreciable degradation of career prospects for staff. Clearly, some form of regression testing is called for. But it’s not at all clear which tests will give the highest level of confidence for the least amount of work. Say that some of the slices are covered by both unit and higher level functional regression tests. But, as in most real-world custom-built enterprise applications, most slices are not covered by rock-solid automated regression. For some slices, there are no regression tests at all. For others, there are some unit and functional tests that, history has shown, catch some, but not all, of the bugs that typically creep in as a result of system change.
As project manager, I now have to decide what mix of regression tests will provide the biggest bang-for-the-buck. In part 2 I dive into the details of the costs and benefits associated with the different types of regression tests.
It is also the same with Hadoop testing through various models. We utilize ping signals and connection packet traffic for generic network management software before testing out the main enterprise software.
ReplyDeleteThat's a good read. Thanks. Shared an article on database regression testing - http://bit.ly/1qDOy8f. Might be a good further read.
ReplyDeleteThanks for your informative article on UFT automation testing tool. Your post helped me to understand the features and functionality of QTP automation testing tool. QTP training
ReplyDeleteI agree with your post, the Introduction of automation testing product shortens the development life cycle. It helps the software developers and programmers to validate software application performance and behavior before deployment. You can choose testing product based on your testing requirements and functionality. QTP Training in Chennai | QTP Training in Chennai with Placement
ReplyDeleteTechnology place a vital part in humans ecosystem. So in order to survive one must be up to date. Thanks for sharing this information in here. Keep blogging article like this. I have bookmarked this page for future reference.
ReplyDeleteHadoop Training Chennai | Big Data Training
| JAVA training in Chennai
Your blog is awesome..You have clearly explained about it ...Its very useful for me to know about new things..Keep on blogging..
ReplyDeleteHadoop training in chennai
Database is explained very nicely...QTP Training in Chennai | QTP Training Institute in Chennai | QTP Course in Chennai
ReplyDeleteWhat a great think really informative post thanks for useful sharing Gorilla Online Marketing
ReplyDeletecanada goose outlet
ReplyDeletecoach outlet store
michael kors outlet
uggs
michael kors outlet
canada goose jackets
ray ban outlet
christian louboutin
ralph lauren outlet
canada goose jackets
cheap nhl jerseys
coach purses on sale
adidas supercolor
canada goose outlet
kate spade
ferragamo shoes
cheap nike shoes
nike free flyknit 4.0
coach outlet
christian louboutin outlet
the north face
armani jeans
yeezy boost 350 black
pandora jewelry
louis vuitton handbags
louboutin uk
ray bans
canada goose outlet
adidas trainers
yeezy boost 350
moncler outlet
converse shoes
ecco shoes
ZHUO20160718
Thanks for Sharing the valuable information and thanks for sharing the wonderful article..We are glad to see such a wonderful article..
ReplyDeleteQTP Training in Chennai | QTP Training Institute in Chennai | QTP Training
Interesting Article
ReplyDeleteJava Online Training from India | Core Java Training Online
Java Online Training | Java EE Online Training
Dot Net Online Training | Angularjs Online Training | Java Training Institutes
Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.
ReplyDeletecloud computing training in chennai | cloud computing courses in chennai
The strategy you have posted on this technology helped me to get into the next level and had lot of information in it. The python programming language is very popular and most widely used.
ReplyDeletePython Training in Chennai | Python Course in Chennai
coach outlet
ReplyDeleteconverse shoes
ysl outlet
birkenstock sandals
uggs
the north face outlet
oakley vault sunglasses
rolex watches
michael kors handbags
longchamp bags
20161124caiyan
Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.
ReplyDeletePHP Training in Chennai | PHP course in Chennai
true religion outlet
ReplyDeletecoach outlet
louboutin pas cher
true religion outlet store
ralph lauren sale clearance
michael kors outlet clearance
ugg australia
adidas super color
canada goose jackets
ralph lauren outlet
20170109
toms shoes
ReplyDeletenike air max
mcm outlet
parker pens
new balance sneakers
replica rolex watches
nike free running shoes
michael kors handbags
michael kors handbags
christian louboutin shoes
2017.3.21xukaimin
The blog gave me idea to perform regression test on database My sincere Thanks for sharing this post and please continue to share this post
ReplyDeleteSoftware Testing Training in Chennai
Nice information!!! I prefer Loadrunner automation testing tool to validate the performance of software application/system under actual load.
ReplyDeletesoftwaretesting training in chennai
our content is awesome . You have done a great job and its very useful for me . I appreciate your effort and I hope that you will get more positive comments from the web users.. Want to learn software testing reach us at Software Testing Training in Chennai | Selenium Training in Chennai
ReplyDeleteIt has been our experience that, defending on the size of the system, it is sometimes necessary to dial this number back to eliminate overloading the database.create mysql dashboard
ReplyDeletea pride for me to be able to discuss on a quality website because I just learned to make an article on
ReplyDeletecara menggugurkan kandungan
Wonderful post. I am learning so many things from your blog.keep posting
ReplyDeleteAbinitio Online Training
Hadoop Online Training
Cognos Online Training
ReplyDeleteA very interesting case study
Informatica Training In Chennai | Hadoop Training In Chennai | Sap MM Training In Chennai
michael kors outlet
ReplyDeletepandora
kate spade outlet online
ralph lauren sale clearance
valentino outlet store
polo ralph lauren
canada goose jackets
ugg outlet
birkenstock shoes
michael kors handbags
chenminghui20180414
This information is very useful. thank you for sharing. and I will also share information about health through the website
ReplyDeleteCara Mengobati Cacingan pada Anak
Obat Benjolan di Belakang Telinga
Cara Mengobati ruam Kulit pada Bayi
Cara Cepat Mengobati Amandel
Obat Luka Berair yang Tak Kunjung Sembuh
Pengobatan efektif Menghilangkan Benjolan di Payudara
20180710 JUNDA
ReplyDeleterockets jerseys
canada goose
kobe 9
christian louboutin shoes
michael kors outlet online
nike blazer pas cher
clippers jerseys
nike revolution
jordan shoes
prada handbags
Great blog! Thanks for giving such valuable information, this is unique one. Really admired.
ReplyDeleteQTP Training in Chennai
I really enjoyed your blog Thanks for sharing such an informative post.
ReplyDeleteclipping path
clipping path service
background removal
raster to vector
20181030 junda
ReplyDeletenike tennis
kate spade outlet
air max 2017
kate spade outlet
celtics jerseys
moncler outlet
pandora outlet
coach outlet
gucci outlet
air jordan release dates
The post you published is full of useful information. I like it very much. Keep on posting!!
ReplyDeletePython Training in Chennai
Python Course in Chennai
Web Designing Course in chennai
Hadoop Training in Chennai
Python Training in Velachery
Python Training in Adyar
Great Post Thanks for sharing
ReplyDeleteDevOps Certification in Chennai
Salesforce Training in Chennai
Microsoft Azure Training in Chennai
ReplyDeleteVery innovative article! I have a lot of knowledge from your incredible post and this content was very applicable to gain myself. Thank you...!
Linux Training in Chennai
Linux Course in Chennai
Social Media Marketing Courses in Chennai
Pega Training in Chennai
Oracle Training in Chennai
Oracle DBA Training in Chennai
Tableau Training in Chennai
Unix Training in Chennai
Excel Training in Chennai
Linux Training Fees in Chennai
This comment has been removed by the author.
ReplyDeleteI'm really impressed with the info you provide in your articles. Hope to see more info from this site
ReplyDeleteInplant Training in Chennai
Inplant Training
Inplant Training in Chennai for IT
Great Post Thanks for sharing
ReplyDeleteORACLE TRAINING IN CHENNAI
Nice...
ReplyDeleteBEST DOTNET TRAINING IN CHENNAI
Super...
ReplyDeleteOnline Internship
super...
ReplyDeleteDATA SCIENCE TRAINING IN CHENNAI
Good...
ReplyDeleteAptitude Questions on Simple Interest
Interview Questions on Electrical Engineering
Aptitude Questions on Permutation & Combination
Resume for BCA Final Year Student
Aptitude Questions on Simple Interest
Interview Questions on Verbal Reasoning
Verbal Reasoning on Syllogism
Verbal Ability on Speech & Voices
Interview Questions on Programming
Aptitude Questions on LCM & HCF
ReplyDeleteINSTALL RPMS DIRECTORY
INTERVIEW QUESTIONS
APTITUDE
INTERVIEW QUESTIONS
VERBAL REASONING
FLIPKART WALLET HACK
TOOL
INTERVIEW QUESTIONS CHEMISTRY
TUTORIALS C
PROGRAMMING
BEST APACHE PIG TUTORIALS
TOP APTITUDE INTERVIEW
QUESTIONS
APACHE PIG TOKENIZE FUNCTION
RESUME FORMAT FOR RETIRED
GOVERNMENT OFFICER
Super Blog...
ReplyDeleteRAILWAY RESERVATION SYSTEM
APTITUDE QUESTIONS ON PERCENTAGE
APACHE-PIG TUTORIALS
COMPANY INTERVIEW QUESTIONS
APTITUDE PROFIT AND LOSS
APTITUDE NUMBERS
PROFIT AND LOSS QUESTIONS BASED ON SELLING
APTITUDE INTERVIEW QUESTIONS IN GEOMETRY
APACHE-PIG SUBTRACT DURATION
APTITUDE QUESTIONS ON TIME-AND-WORK
share many post.
ReplyDeletejs max int
c++ program to print pyramid using *
why do you consider yourself suitable for this position
hack whatsapp ethical hacking
databricks interview questions
paramatrix aptitude questions and answers
which is the closest approximation to the product 0.3333
a watch was sold at a loss of 10
ip spoofing tutorial
advantages of packages in java
awesome blog.
ReplyDeleteFree Inplant Training Course for ECE Students
Inplant Training in IT
Internship in Chennai for BSC
Inplant Training for Automobile Engineering Students
Free Inplant Training for ECE Students in Chennai
Internship for CSE Students in BSNL
Inplant Training in ECE
Application for Industrial Training
Best Inplant Training in Chennai for CSE Student
Implant Training for BioTechnology Students
Very Informative...Glad to find your blog...Keep Sharing...
ReplyDeleteTESTING & TRAINING ON SELENIUM
ORACLE TRAINING IN CHENNAI
PYTHON TRAINING IN CHENNAI
DATA SCIENCE TRAINING IN CHENNAI
INTERNSHIP IN AUTOMOBILE COMPANIES IN CHENNAI
ReplyDeleteFINAL YEAR PROJECT FOR INFORMATION TECHNOLOGY
EEE INTERNSHIP
IMPLANT TRAINING CERTIFICATE FORMAT
IPT IN CHENNAI
AERONAUTICAL INTERNSHIP IN INDIA
INTERNSHIPS FOR EEE STUDENTS
INTERNSHIP WITH STIPEND
INTERNSHIP FOR EEE STUDENTS IN CHENNAI
LIST OF ARCHITECTURAL FIRMS FOR INTERNSHIP IN INDIA
A trader bought a car at 20% discount on its original price. He sold it at a 40% increase on the price he bought it. What percent of profit did he make on the original price?
ReplyDeleteHack TP link wifi
How to Hack Mobile Hotspot
A trader bought a car at 20 discount
VCB Breaker Rating Calculation
100 Python Interview Questions and Answers PDF free download
jsondecodeerror: extra data
Resume for Computer Science Student Fresher
TP link Hack
max integer javascript
ReplyDeleteشركة تنظيف في الكويت شركة تنظيف بالكويت
فني صحي فني صحي
سباك الكويت سباك صحي بالكويت
شركة غسيل سجاد الكويت شركة مصبغة غسيل تنظيف سجاد الكويت
فني كهربائي منازل الكويت معلم فني كهربائي منازل في الكويت
nice bloggers....!!!!
ReplyDeletepoland web hosting
russian federation web hosting
slovakia web hosting
spain web hosting
suriname
syria web hosting
united kingdom
united kingdom shared web hosting
zambia web hosting
inplant training in chennai
super....!!!
ReplyDeletetext animation css
animation css background
sliding menu
hover css
css text animation
css loaders
dropdown menu
buttons with css
excellent...!!!
ReplyDeleteSelenium training in chennai
Industrial visit in chennai
Internship
Internships in bangalore for cse students 2019
Free internship in chennai for cse students
Network security projects for cse
Ccna course in chennai
Inplant training in chennai for cse
Inplant training for eee students
Kaashiv infotech chennai
หนังออนไลน์ ระดับ Premium ได้ที่ Doonung1234 ฟรี ระดับ 4K HD หลากหลายเรื่องมากมาย กับเรื่อง Birds of Prey ทีมนกผู้ล่า กับฮาร์ลีย์ ควินน์ ผู้เริดเชิด (2020) [ ชัด HD ชนโรง ซับเกาหลี ]
ReplyDeletenyc..blog
ReplyDeletecoronavirus update
inplant training in chennai
inplant training
inplant training in chennai for cse
inplant training in chennai for ece
inplant training in chennai for eee
inplant training in chennai for mechanical
internship in chennai
online internships
very nyc..
ReplyDeletecoronavirus update
inplant training in chennai
inplant training
inplant training in chennai for cse
inplant training in chennai for ece
inplant training in chennai for eee
inplant training in chennai for mechanical
internship in chennai
online internships
Pretty article! I found some useful information in your blog....
ReplyDeleteso here we provide,
We provide you with flexible services and complete hybrid network solutions. It can provide your organisation with exceptional data speeds, advanced external security protection, and high-resilience by leveraging the latest SD-WAN and networking technologies to monitor, manage and strengthening your organisation’s existing network devices.
https://www.quadsel.in/networking/>
https://twitter.com/quadsel/
https://www.linkedin.com/company/quadsel-systems-private-limited/
https://www.facebook.com/quadselsystems/
#quadsel #network #security #technologies #managedservices #Infrastructure #Networking #OnsiteResources #ServiceDeskSupport #StorageServices #WarrantyAMCServices #datacentersolutions #DataCenterBuild #EWaste #InfraConsolidation #DisasterRecovery #NetworkingServices #ImagingServices #MPS #Consulting #WANOptimisation #enduserservices
Bring your Organisation Brand into the Digital World, to know more contact us
ReplyDeletewww.bluebase.in
https://www.facebook.com/bluebasesoftware/
https://www.linkedin.com/…/bluebase-software-services-pvt-…/
https://twitter.com/BluebaseL/
#applications #EnterpriseSolutions #CloudApplication #HostingServices #MobileAppDevelopment #Testing #QA #UIdesign #DigitalMarketing #SocialMediaOptimisation #SMO #SocialMediaMarketing #SMM #SearchEngineOptimisation #SEO #SearchEngineMarketing #SEM #WebsiteDevelopment #WebsiteDesigning #WebsiteRevamping #crm #erp #custombuildapplication #android #ios
Your blog is absolutely fantastic and great android apps development tutorial for beginners. Good work.
ReplyDeleteOracle Training | Online Course | Certification in chennai | Oracle Training | Online Course | Certification in bangalore | Oracle Training | Online Course | Certification in hyderabad | Oracle Training | Online Course | Certification in pune | Oracle Training | Online Course | Certification in coimbatore
Wonderful sharing..thanks a lot for writing this article.
ReplyDeleteOracle Training | Online Course | Certification in chennai | Oracle Training | Online Course | Certification in bangalore | Oracle Training | Online Course | Certification in hyderabad | Oracle Training | Online Course | Certification in pune | Oracle Training | Online Course | Certification in coimbatore
Amazing Article, Really useful information to all So, I hope you will share more information to be check and share here.
ReplyDeleteJupyter Notebook
Jupyter Notebook Online
Jupyter Notebook Install
Automation Anywhere Tutorial
Rpa automation anywhere tutorial pdf
Automation anywhere Tutorial for beginners
Kivy Python
Kivy Tutorial
Kivy for Python
Kivy Installation on Windows
kd shoes
ReplyDeletekyrie 4
lebron 15 shoes
jordans shoes
golden goose
hermes belt
yeezy boost 350
nike x off white
curry 6 shoes
cheap jordans
Nice Information Your first-class knowledge of this great job can become a suitable foundation for these people. I did some research on the subject and found that almost everyone will agree with your blog.
ReplyDeleteCyber Security Course in Bangalore
Writing in style and getting good compliments on the article is hard enough, to be honest, but you did it so calmly and with such a great feeling and got the job done. This item is owned with style and I give it a nice compliment. Better!
ReplyDeleteCyber Security Training in Bangalore
This post is very easy to read. Great work!
ReplyDeletehow to clear ielts
qualifications required for ethical hacker
how do you handle stress and pressure
java required for selenium
ethical hacking interview questions and answers
ethical hacking books
Nice post! Thanks for your great content and I obtain a huge of knowledge from your best post...
ReplyDeleteSelenium with C# Training
Selenium with Python Training
Selenium with Java Training
Learn Selenium with Java Training
Nice blog. Thanks for sharing this post.
ReplyDeleteClipping Path Service Provider
This is additionally a generally excellent post which I truly delighted in perusing. It isn't each day that I have the likelihood to see something like this.. data science course in chennai
ReplyDeleteA clean space is important for every organization because it creates a positive impression on customers or guests that come in. It’s also important for employees because it shows that the company cares about them and their well-being. For partners, it sends an invitation to use the organization’s products or services. This is why commercial cleaning company Dallas TX becomes necessary on every level.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThe Cricut machine is the crafter's all-time favorite DIY cutting machine. It's the perfect tool for professional crafters. Cricut is combined with in-built sharp blades that make exact cuts as you programmed. It allows you to precisely cut paper, card stock, balsa wood, leather, vinyl, stickers, and fabrics. The setup of the Cricut machine requires installing Design Space software on your computer. You must visit cricut.com/setup to set it up.
ReplyDeletecricut.com/setup
www.cricut.com/setup
design.cricut.com/setup
cricut design space setup