From: Pavel C. <pc...@us...> - 2002-07-03 19:48:30
|
On 3 Jul 2002 at 15:31, Paul Reeves wrote: > How would you see us testing DSQL? I'd trust the results of an ESQL test > over a DSQL test anyday. Writing good (I mean correct) DSQL tests is not > easy. At least gpre knows what it is doing. AFAIK any db access layer that's in use today works over DSQL (IBO, IBX, ODBC, dbExpress, kinterbasdb, JDBC? etc.). So use of DSQL means that we can simply use one such library (in case of QMTest it's kinterbasdb). > This is not a reason to ignore testing DSQL, especially as gpre > generates undocumented api calls in some cases. But having played a > little with writing gpre scripts I think the learning curve is more > shallow. Test writers can concentrate on writing code that will > accomplish a test. Writing DSQL will turn into a test of the programmers > C/C++ abilities - at least in the beginning. I think the opposite (in favour of DSQL), because with ESQL we have to use a C/C++ compiler, GPRE and other tools just to compile test. With DSQL, the db access layer could be part of Test harness, and test cases can use declarative approach instead procedural. Of course, some test are better written in ESQL/GPRE (like tests for events), but core SQL compliance tests could be pure declarations: sql command -> expected results. > Have you seen QAT yet? (http://qat.sourceforge.com). It is another OS > test harness, this time written in Java. I haven't played with it > seriously but the fact that it is in Java makes it more interesting to me. Java is also nice, as one from top priority requirements for test harness is portability, but it depends on working Java FB connectivity. Of course, we can use it at least for jca-jdbc driver tests. I'll take a look at QAT. > My main objection (in fact my only objection) to QMTest is that it > requires Python. It is another thing to install and configure and it > quite probably requires learning a bit of python, too. That said, I'm > not stuck on this. A harness that is easily configurable and allows easy > extension addition to the test 'database' is the most important thing. > We need to reduce the barriers to test writing as much as possible. Python is easy to setup and QMTest as well (just install them and you're ready). Many test cases doesn't really need any Python knowledge as I'd like provide support for declarative approach for test writers where possible. This is also one from main topics for discussion here: How common SQL compliance test should be written and what support is expected from TCS side to build them quickly without special knowledge and with minimum coding. Best regards Pavel Cisar http://www.ibphoenix.com For all your upto date Firebird and InterBase information |
From: Leyne, S. <sl...@at...> - 2002-07-04 02:09:37
|
Paul et al, > From: Paul Reeves [mailto:pr...@ib...] > Pavel Cisar wrote: >=20 > > Tests mostly use ESQL for access to the database,=20 > > instead of DSQL which is prevailing approach today.=20 >=20 > How would you see us testing DSQL? I'd trust the results of=20 > an ESQL test=20 > over a DSQL test anyday. Writing good (I mean correct) DSQL=20 > tests is not=20 > easy. At least gpre knows what it is doing. >=20 > This is not a reason to ignore testing DSQL, especially as gpre=20 > generates undocumented api calls in some cases. But having played a=20 > little with writing gpre scripts I think the learning curve is more=20 > shallow. Test writers can concentrate on writing code that will=20 > accomplish a test. Writing DSQL will turn into a test of the=20 > programmers=20 > C/C++ abilities - at least in the beginning. >=20 > I think one of the goals of the QA group is to create an environment=20 > where tests can be created quickly and easily by many=20 > developers. ESQL makes this a lot easier. Just as a reminder of a historical posting, Reed Mideke wrote: > > The current ISQL approach virtually eliminated these type of errors, > > saving testers from hunting down these 'false positive' results. > > Furthermore, when it comes to diagnosing anomolies in data=20 > results, ISQL > > has been used as the "gold standard" for determining=20 > whether a problem > > is engine or data access layer related. > >=20 > Emm, actually, embedded GDML (i.e. GPRE) is the gold standard. > isql only lets you test DSQL.=20 Accordingly, perhaps we need to balance the use of GPRE based tests and DSQL/isql based test. Ideally, the GPRE test should cover the very basic elements of the database/engine and those features which can't be tested any other way. Once the basics have been tested then other tools (like isql) can be used to perform the reminder (majority) of the tests. In the long run, these basic tests should change less frequently than the need to create new test to address DSQL issues. To address the deployment issues, installing/configuring a C/C++ compiler, we could build binary packages which could be installed by users/testers (this is in addition to the test package -- no CVS access should be required). Thus, only 1 person would need to compile and build the binary package, and another to build/post the package of testing scripts.=20 Then, the thousands of users can contribute to the overall testing process. ... > My main objection (in fact my only objection) to QMTest is=20 > that it requires Python. It is another thing to install and > configure and it quite probably requires learning a bit of > python, too. That said, I'm not stuck on this. I also share this opinion. But at the same time we need a solution which: 1) runs well on Windows (I lot of our users and potential new developers/testers use Windows) 2) runs on all platforms without requiring too many supporting tools 3) provides a good/meaningful display of the test results and error details 4) stores test scripts in individual text/xml files 5) can be installed with a straight-forward set of installation notes that even I can follow (in other words, idiot-proof!). It seems that QMTest meets these requirements, but I'm open to others. Sean |
From: Pavel C. <pc...@us...> - 2002-07-04 07:33:06
|
Sean, On 3 Jul 2002 at 22:08, Leyne, Sean wrote: > Just as a reminder of a historical posting, Reed Mideke wrote: > > > Emm, actually, embedded GDML (i.e. GPRE) is the gold standard. > > isql only lets you test DSQL. > > Accordingly, perhaps we need to balance the use of GPRE based tests and > DSQL/isql based test. > > Ideally, the GPRE test should cover the very basic elements of the > database/engine and those features which can't be tested any other > way. Once the basics have been tested then other tools (like isql) can > be used to perform the reminder (majority) of the tests. In the long > run, these basic tests should change less frequently than the need to > create new test to address DSQL issues. I agree with you that we'll need (at least some) ESQL tests, because not all functionality is exposed by DSQL, and significant engine parts and tools are written in it. We should tests these "bits" that cannot be tested by other ways. > To address the deployment issues, installing/configuring a C/C++ > compiler, we could build binary packages which could be installed by > users/testers (this is in addition to the test package -- no CVS access > should be required). Thus, only 1 person would need to compile and > build the binary package, and another to build/post the package of > testing scripts. > > Then, the thousands of users can contribute to the overall testing > process. I'm not sure if 1000+1 users running _exactly_ the same tests would assure better quality than 1-3 (per platform). I'd prefer if those 1000+1 users would test FB in real-world applications. Best regards Pavel Cisar http://www.ibphoenix.com For all your upto date Firebird and InterBase information |