How to Make The Q&A Process Easier: Practical Tips

Yana Badzhieva
Yellow Universe
Published in
4 min readAug 30, 2019
Image credit: Unsplash

Software testing is crucial, but always takes a lot of time and effort. Are there any ways to make things faster and easier? Well, the 1C:Enterprise platform has some nice features to offer here. Here is a quick overview of practical tips that will help you to significantly reduce the Q&A process time and the overall workload.

Note: we’re live on ProductHunt

First steps: what to automate

Automation is the ultimate tool of a Q&A engineer. Once you’ve decided that your testing process is too complicated, the number one thing to do is to reduce the workload by using automation. To understand what to automate, you need to analyze the whole testing workflow to identify repetitive action you often do. They will be automated in the first step.

Usually, such repetitive actions are often connected to the preparation of the testing environment and errors registration. Basically, you can reduce the list of the necessary actions performed during testing to such steps:

  • New informational database creation.
  • The update of this database.
  • Downloading/uploading data.
  • Preparation of the test data.
  • Errors registration, including links to the informational database.

But how to speed up the whole process and spend time more effectively?

Automation of the testing environment preparation process

As said above, the process of preparation of the testing environment is quite time-consuming. So, you should try to automate it if possible. Use any means you might have. For example, the 1C:Enterprise development platform allows running code using CLI (command line interface).

To prepare the testing environment, you will need to create the database, upload it, update to the actual build version. It is a good idea to automate these tasks with special scripts.

For example, you can create a new database using simple code:

1cv8 CREATEINFOBASE <connection string> [/AddToList [<infobase name>]] [/UseTemplate <template file name>] [/Out <file name>] [/L<language code>] [/VL<locale code>] [/O<connection speed>] [/DumpResult <file name>]

If you want to create a server-side database, just replace the path to command file with the parameter:

set App=”C:\Program Files (x86)\1cv8\8.3.13.1865\bin\1cv8.exe”

set ConnectionString=”File=D:\EXAMPLE\DATABASE; Usr=%DBUser%”

set DBUser=

If you want to work with the server database, just alter the code for connection to the database:

(ConnectionString ) на “Srvr=%ServerName%;Ref=%InfobaseName%;Usr=%DBUser%;”

Now, you will be able to create a new database with this command:

%App% CREATEINFOBASE %ConnectionString% /Len /DisableStartupMessages /DisableStartupDialogs /AddToList EXAMPLE_DATABASE /Out “D:\EXAMPLE\create_db.txt”

Using the /RestoreIB <file name> command you can upload data to your testing database. Again, set the parameter App:

set App=”C:\Program Files (x86)\1cv8\8.3.13.1865\bin\1cv8.exe”

set ConnectionString=”File=D:\EXAMPLE\DATABASE; Usr=%DBUser%”

set DBUser=

And specify the path to the data:

set DemoIB=D:\EXAMPLE\Demo.dt

set DESIGNER=%App% DESIGNER /UC GodMode /IBConnectionString %ConnectionString%

Parameter for the upload completion reports:

set LoadDbFile=D:\EXAMPLE\load_db.txt

set LastParameters=/Len /DisableStartupMessages /DisableStartupDialogs

And just run the upload process:

%DESIGNER% /RestoreIB “%DemoIB%” %LastParameters% /Out %LoadDbFile%

Using the built-in programming language, you can also update the informational database. For example, you can use the git repository containing XML files.

/LoadConfigFromFiles <dump directory> [-Extension <extension name>] [-AllExtensions] [-files “<files>”] [-listFile <list file>] [-format <mode>] [-updateConfigDumpInfo]

/UpdateDBCfg

Let’s set the git repository address using the parameter:

set ConfigurationDir=D:\git\MyConf\cf

set UpdateInfoBaseFile=”D:\EXAMPLE\update_infobase.txt”

if exist %UpdateInfoBaseFile% del /Q %UpdateInfoBaseFile%

set StdOutFile=”D:\EXAMPLE\\update_infobase_std.txt”

if exist %StdOutFile% del /Q %StdOutFile%

In this case, the command for the database update will be as follows:

%DESIGNER% /LoadConfigFromFiles %ConfigurationDir% /UpdateDBCfg %LastParameters% /Out %UpdateInfoBaseFile% 1>%StdOutFile%

Now you will be able to combine all these commands in one script to create a testing environment in one click. This environment will be filled with the test data, and the test build will be updated accordingly.

Speeding up error registration

To register the new bug, you will need to:

  • describe the target outcome (how everything should work);
  • describe the actual software behavior.

Many bug tracking systems offer functionality for error generation using templates. This is very useful not only for speeding up the whole process but for increasing the overall quality of errors/bugs description. Having a good collection of errors descriptions made using a single template allows shrinking the onboarding time for new Q&A team members.

In 1C:Enterprise, you can create links to objects in the informational database using Alt+F11 keyboard shortcut.

These links allow providing more context when used in bug descriptions.

More articles on software development and QA + useful links:

--

--