I created a very simple System Test Plan Reference Diagram which can be used as a quick reference guide tool when drafting system tests. Save the Figure 2.0 image below or download it from here. (^^,)
Figure 1.0
Software Development and the World Wide Web |
|
Developers should always be proactive to testing. Remember that the purpose of testing is to ensure that the end goal is achieved. If a bug is found, don't fret. Take it as something positive: the earlier it's found, the sooner you can get it fixed. You can then assess on which features to add to improve the application. The problem only occurs when unknown errors surface in the future due to the bugs that were not found. The stronger your test plan and the more accurate it is, the more reliable your application will be. And that's one great reason to bring on the hackers (the authorized ones---a.k.a. the Penetration Testers), or your QA team.
I created a very simple System Test Plan Reference Diagram which can be used as a quick reference guide tool when drafting system tests. Save the Figure 2.0 image below or download it from here. (^^,) Figure 1.0
more info here
Hope you'll find it useful. (^__^)
0 Comments
On Using Cheat Sheets
Please let me first just iterate that the "cheat sheets" that Developers use are actually the quick reference guides for smooth coding. Nevertheless, you should not rely on these because if you don't understand the logic behind it and how it's used, its existence is useless. If you're doing any I.T. work, it is your obligation to research and to have the capacity to deliver especially if it's something you are paid to do. Using "cheat sheets" or quick reference guides should help you build your own solution, and not be the solution itself or copying the entire work of somebody else, otherwise, it becomes an issue of intellectual property. Before using any code that's not your own, make sure to examine its licensing and terms of use. What is Bootstrap? When Should it be Used? Bootstrap, formerly known as Twitter Bootstrap or Twitter Blueprint, is a front-end development framework that allows you to quickly develop responsive, mobile-first websites; it's a clean, robust framework built in HTML, CSS and JavaScript to enable you to develop your solution right away through the use of DOMs with ready-made styling. According to Bootstrap, it was initiated by Mark Otto and Jacob Thornton. For example, in order for a plain DIV to occupy only 1/3 of your screen, you'd have to specify its attribute values for your target devices in your styling sheets, whereas in Bootstrap, you can immediately just use Bootstrap's grid system by providing a class name of "col-xx-4"; xx stands for your target device: xs for phones, sm for tablets, md for desktops, and lg for larger desktops. If you're only using 1 type of DIV, manually doing the CSS for it should only take less than 3 lines of code especially if you're only worrying about its width and position attributes, but this won't be the case if you start thinking about its padding, float, minimum height, maximum height and margin attributes. Imagine doing that for 50 types of DIVs, buttons, modals, forms, etc. How many days will it take until you can actually start programming the functionalities of your web application? What are your milestones and when are they due? Which of your tasks hold higher priorities? However, if you're a Designer and all your time are spent only on the front-end, then Bootstrap may not be for you. But if you're a Full-Stack Developer, I'd say that this technology will be useful for your work. Importance of Research Just like any other framework, you will need to do your assignment of studying Bootstrap and how it works especially if you need to combine it with your own customized CSS, otherwise, it can mess up your work and break your front-end, literally, if they're not done properly. And this is one of the reasons why some Designers, whose main responsibility is making things pretty and neither have the need to worry about the elements' functionalities, server issues nor database connections, argue that you should not use Bootstrap. This is not true in all cases. As stated in the previous paragraph, it depends on your role, nature of tasks, and priorities. WHAT IS SOFTWARE DEVELOPMENT LIFE CYCLE? The Software Development Life Cycle (SDLC) can be explained as:
1. Veracode.com defines SDLC as: "A software development lifecycle is essentially a series of steps, or phases, that provide a model for the development and lifecycle management of an application or piece of software." 2. Tutorialspoint.com defines SDLC as: SDLC is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process. As of today, there are many SDLC models that you can use depending on the type of development project. Each development project can have unique needs and some factors you need to consider are the scale, the time frame, the requirements, and the budget of the project. SDLC Models
WHAT IS OBJECT-ORIENTED PROGRAMMING? The Object-Oriented Programming, also known as Object-Oriented Analysis and Design, makes use of Unified Modelling Language (UML) and diagrams to represent the code implementation during the Systems Analysis Phase. In order for this approach to be effective, the key is to do it excellently by breaking down the development tasks into small subsets, deeply analyzing them, and making that analysis visual by drawing the diagrams and the objects' relations to one another. OOP Procedure
Object-oriented techniques are thought to work well in situations in which complicated information systems are undergoing continuous maintenance, adaptation, and redesign. Object-oriented approaches use the industry standard for modeling object-oriented systems, called the unified modeling language (UML), to break down a system into a use case model. SDLC, OOP, OR A COMBINATION OF BOTH? Your development team has to reach a consensus on which systems development approach to use, and choose . The SDLC can produce excessive documentation but will provide you with good amount of information that's sufficient enough to undertake an existing application. The OOP, on the other hand, can be heavily reliant on diagramming which can offer little room for words and descriptions in certain areas of development, including systems analysis phase. If you'd like to use a combination of both to fill what the other lacks, again, your team has to reach a consensus in where and in which parts to apply the OOP, or the SDLC. Please be aware that aside from SDLC and OOP, there are other approaches available. INTERNATIONAL ORGANIZATION FOR STANDARDIZATION (ISO)
The ISO develops and publishes international standards on a wide range of industries including occupational health and safety, environmental management, social responsibility, food safety, information security and management, risk management, medical devices, etc. They are also the publishers of ISO/IEC 12207. The ISO/IEC 12207 is the international standard for software life cycles. Please go to www.12207.com for more details.
What is Database Abstraction Layer?
Database Abstraction Layer, like what its descriptive name suggests, is an API layer that contains abstracted data from the methodologies and procedures of vendor-specific databases, and creates objects that Developers can re-use to obtain data from databases. Put simply, you are able to use 1 dialect to communicate with many different databases, regardless of what specific dialect a database may have. Examples (PHP)
The examples shown above describes how different databases uses their own "dialect" or methods to perform actions that are somehow similar with one another. And just like human languages, some of methods by a specific database may not have direct equivalency with other databases' methods, and may require more methods in order to perform similar action.
By using Database Abstraction Layer, the Developers will only need to learn 1 API to implement the same actions; and this layer will communicate with the databases to perform the actions you want. Possible Advantages
Possible Disadvantages
Personally, I support Database Abstraction Layers because it promotes good practice and code consistency. The possible disadvantages can only occur under certain conditions in some cases such as: 1) A Developer chose a route that requires database operations not supported by specific databases, which may not be necessary because in reality, most of what you need are supported. And there are many solutions that can accomplish the same task. 2) An application, regardless of size, that uses more than 5 types of databases, which will somehow force the specific databases that do not have the tools to perform tasks commanded by the layer API, to try to understand and attempt to process the requests, which results in slower performance and longer processing. In this case, then using vendor-specific databases' languages would be more suitable. It's always a case-to-case basis. For me, Database Abstraction Layers are still Developers' great friends.
"Fiction is but a figment of human's imagination. It has many uses: one, it can be used to portray different aspects of reality; two, influence perceptions; three, send a message; four, brainwash the easily-swayed and the vulnerable; five, either put the truth to light, or twist it. Fiction can also be used to inspire, or to destroy; to guide, or to mislead. At the end of the day, was the truth ever altered? Did the facts change? ...No." |
QC, Canada
Categories
All
Archives
March 2021
|