Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/satisf5/newsite/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php on line 1896

Warning: Cannot modify header information - headers already sent by (output started at /home/satisf5/newsite/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php:1896) in /home/satisf5/newsite/wp-content/plugins/comet-cache/src/includes/traits/Shared/HttpUtils.php on line 172

Warning: Cannot modify header information - headers already sent by (output started at /home/satisf5/newsite/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php:1896) in /home/satisf5/newsite/wp-content/plugins/comet-cache/src/includes/traits/Shared/HttpUtils.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/satisf5/newsite/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php:1896) in /home/satisf5/newsite/wp-content/plugins/comet-cache/src/includes/traits/Shared/HttpUtils.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/satisf5/newsite/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php:1896) in /home/satisf5/newsite/wp-content/plugins/comet-cache/src/includes/traits/Shared/HttpUtils.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/satisf5/newsite/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php:1896) in /home/satisf5/newsite/wp-content/plugins/advanced-iframe/advanced-iframe.php on line 453

Warning: Cannot modify header information - headers already sent by (output started at /home/satisf5/newsite/wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/lib/rules.php:1896) in /home/satisf5/newsite/wp-includes/feed-rss2-comments.php on line 8
Comments on: Logging: Exploratory Tester’s Friend https://www.satisfice.com/blog/archives/401 Software Testing for Serious People Sun, 06 Oct 2013 06:12:20 +0000 hourly 1 https://wordpress.org/?v=7.0.3 By: Amit Mistry https://www.satisfice.com/blog/archives/401#comment-1374 Sun, 06 Oct 2013 06:12:20 +0000 https://www.satisfice.com/blog/?p=401#comment-1374 Thanks, James! You have raised nice topic based on “logging software testing”. This post is very relevant. I wish all testers read these with awareness excellent carry out. I would like to include following 2 points.

The best practices for Logging Software Testing Bugs
• To take image of every step in the process.

[James’ Reply: That is not a best practice. If it’s a practice you like, just say that. Meanwhile, you should talk about what situations would not benefit from this practice.]

• A lot of tools automate a number of features of the procedure, which serve up to add to effectiveness and decrease costs.

[James’ Reply: I don’t know what that means, but it can’t be a best practice, since there is no such thing as a best practice.]

This might be a magnificent method to demonstrate reports to managers. Thanks again for this post!

]]>
By: Oliver Erlewein https://www.satisfice.com/blog/archives/401#comment-1373 Mon, 30 Jan 2012 03:24:33 +0000 https://www.satisfice.com/blog/?p=401#comment-1373 Just wanted to say thanks again for this post!

I keep on coming back to it time & time again. I give it to testers but usually I hand a copy to the developers. They complain at first and after they read it they go: “Hey, this is really a good idea….”.

Maybe you should re-work this into something more prominent & permanent on your site. I think it adds a lot of value.

I also find logging especially interesting from an automation perspective. I can have watchers on a log, that alert me if certain conditions that I want to know about occur (i.e. see if a defect has actually been resolved if there is doubt about the fix).

]]>
By: Eugenia Yakhnin https://www.satisfice.com/blog/archives/401#comment-1372 Mon, 16 Jan 2012 03:24:47 +0000 https://www.satisfice.com/blog/?p=401#comment-1372 This post is 2 years old, but very relevant. Would you recommend up-to-date logging tool for manual Web testing of application that will record information about patient?

[James’ Reply: Burp Proxy.]

]]>
By: Eusebiu Blindu https://www.satisfice.com/blog/archives/401#comment-1371 Thu, 10 Jun 2010 20:59:01 +0000 https://www.satisfice.com/blog/?p=401#comment-1371 This could be a wonderful way to show reports to managers. Managers complain about “visibility” when doing exploratory testing. Logging everything and extract then the essential stuff looks like a way to me.

Sebi

]]>
By: David Gilbert https://www.satisfice.com/blog/archives/401#comment-1370 Mon, 15 Mar 2010 12:38:54 +0000 https://www.satisfice.com/blog/?p=401#comment-1370 James — we do this kind of logging in TestExplorer. We don’t cover all your points, although we likely will soon. 😉 However, we have three levels of logging, which are easily selected in the user options; the logs are written out to simple html, so anyone can view them; and each entry is time/date stamped and nested, so you can follow the flow as functions call into functions call into functions, and then back out. It has been one of the best decisions we ever made; the ability to simply have a client turn logging onto super turbo mode, recreate a problem, and mail the log to us continuously helps us understand problems as they emerge.

David

]]>
By: Shmuel Gershon https://www.satisfice.com/blog/archives/401#comment-1369 Sun, 14 Mar 2010 20:19:37 +0000 https://www.satisfice.com/blog/?p=401#comment-1369 🙂 Right, that’s a good way to put it.

The benefit is much bigger for progress/status reports (that are seen in the screen as actions happen), but it is the same for logs:
There are times where an application will crash, but all the data the users/testers have is what was done until now. The developer can (easily or not) deduce what the app was doing when it crashed because he knows the flow — but the users are left with guessing.

Without this little aid, if function E crashes when called after D, but E is *not always* called, a log for crash would look like “A, F, B, D, ” while a log without crash would look “A, F, B, D, G, A”. Hard to see the reason, right? Had the testers know that function E was starting, the ‘sporadic’ issue would have been isolated much more easily.

Well, I guess the point is made, will stop repeating :).
Thanks!!

]]>
By: Shmuel Gershon https://www.satisfice.com/blog/archives/401#comment-1368 Sat, 13 Mar 2010 16:52:29 +0000 https://www.satisfice.com/blog/?p=401#comment-1368 A reply to your reply (can’t edit it inline):
Yes, logging each action as it starts instead of only its result when it ends it is a great way of doing that.

As you say, not only it is hard for one routine to know what will be the next routine called, but doing that would wreck modularity cohesion and low-coupling :).

But for most part (perceiving delays, or analyzing hangs for example) logging at the beginning of each routine would be enough.

[James reply: Okay, so logging “I’m about to try this… if you don’t hear from me, tell my wife I love her…”]

]]>
By: Shmuel Gershon https://www.satisfice.com/blog/archives/401#comment-1367 Fri, 12 Mar 2010 10:15:50 +0000 https://www.satisfice.com/blog/?p=401#comment-1367 Hi James, great list!

If I may, let me add a 14th point, an insight I learned from a tester in my team:
For functions the software does by itself, in addition to logging the result of each step after it happens (imported data; generated report; exported graph…) it is very useful to log *what the next step will be*. This way, when a failure occurs, it is easy to know what the software was trying to do.

Since I learned that, I am paying attention to it, and impressed by how much common logs or progress reports lack this.
It takes a lot of time for an operation to happen, but you need to wait until the end of it to know which it was.
Once my computer froze during Windows’ shutdown with the “playing logoff sound” screen. I’m pretty sure the sound playing was over, and was left wondering what caused the OS freeze.

Hope you approve the addition 🙂

[James’ Reply: Let’s say I’m a programmer. How would I actually implement this? Are you just saying you want me to log the start of events, instead of just logging when things end?

Obviously, I can’t know, from within a specific routine, what the next thing will be.]

]]>
By: Chad Patrick https://www.satisfice.com/blog/archives/401#comment-1366 Mon, 08 Feb 2010 23:13:26 +0000 https://www.satisfice.com/blog/?p=401#comment-1366 I worked as a performance tester in an SOA environment for a middleware organization. We had a system that was very similar to what you’re describing. It was a collection of Java web services and batch applications. Their logging system was heaven to me as a test manager. It maintained a consistent transaction ID throughout the system which made it much easier to get a better picture of what was going on as requests/responses were passed from service to service and across various message queues.

One thing that was nice was that the logs were not written to files, rather they were submitted via XML objects to a logging service which greatly enhanced the efficiency and was less of a drain on the system (as writing to disk is slower and more of a resource hog). Also, there was a configuration file which allowed us to set different logging levels for each environment (info, error, debug, etc…). The data/variable pairs would align with a global variable for whatever environment in which the code was deployed.

[James’ Reply: Cool. I have also used SQL Server transaction logs as log files, and you get those for free in database apps.]

I hesitate to say this, but we were a scripted organization 🙂 I hope we’re allowed to post here.

[James’ Reply: You can post it. But what do you mean by it? Detailed procedural scripts? If so, why? You had logging, which is like having a GPS track of where you were patrolling, but you still felt that letting your drivers patrol as they saw fit was bad?]

While we may differ on certain aspects of testing, I agree wholeheartedly that logging (or the absence of) is one of the most overlooked gems for a tester. Monitoring and rigid examination of logs is something I try to instill into each member of my testing team. When engaged in a project in the planning and analysis phases, it’s also something I urge the architects to consider.

[James’ Reply: We don’t yet know if we differ. I do plenty of planning in my testing, when the situation calls for it. To be exploratory means to not STOP planning once you have a “plan.”]

]]>
By: Tomasz Zdanowicz https://www.satisfice.com/blog/archives/401#comment-1365 Thu, 04 Feb 2010 15:19:38 +0000 https://www.satisfice.com/blog/?p=401#comment-1365 I have been working for couple of years for company building real-time embedded systems. This was big challenge to find the equilibrium between logging (volume of it) and real-timing (performance of embedded application). The main problem was resource sharing (either they were used for performance or for logging). In that case ‘logging’ does not seems to be so easy for implementation. Finally we find out that we need two levels of testing at least. One was ‘functional not real-time related’ second was ‘real-time related’ during which we didn’t use much logging (only critical points).
After all we had ATP sessions that were run on non-debug version of software.

[James’ Reply: Excellent point.]

]]>